Example usage for org.apache.poi.hpsf DocumentSummaryInformation getByteCount

List of usage examples for org.apache.poi.hpsf DocumentSummaryInformation getByteCount

Introduction

In this page you can find the example usage for org.apache.poi.hpsf DocumentSummaryInformation getByteCount.

Prototype

public int getByteCount() 

Source Link

Document

Returns the byte count or 0 if the DocumentSummaryInformation does not contain a byte count.

Usage

From source file:com.pnf.plugin.ole.parser.StreamReader.java

License:Apache License

private List<INode> readDocSummaryStream(ByteBuffer stream) {
    List<INode> roots = new LinkedList<>();
    String propType = "Property";

    try {/* w w w .j a  v  a 2s.  c o m*/
        DocumentSummaryInformation info = (DocumentSummaryInformation) PropertySetFactory
                .create(new ByteArrayInputStream(stream.array()));

        propType = "int";
        StreamEntry counts = new StreamEntry("Counts");
        if (info.getLineCount() != 0)
            counts.addChild(new StreamEntry("Line count", propType, String.valueOf(info.getLineCount())));

        if (info.getByteCount() != 0)
            counts.addChild(new StreamEntry("Byte count", propType, String.valueOf(info.getByteCount())));

        if (info.getHiddenCount() != 0)
            counts.addChild(new StreamEntry("Hidden count", propType, String.valueOf(info.getHiddenCount())));

        if (info.getMMClipCount() != 0)
            counts.addChild(new StreamEntry("MMClip count", propType, String.valueOf(info.getMMClipCount())));

        if (info.getNoteCount() != 0)
            counts.addChild(new StreamEntry("Note count", propType, String.valueOf(info.getNoteCount())));

        if (info.getParCount() != 0)
            counts.addChild(new StreamEntry("Par count", propType, String.valueOf(info.getParCount())));

        if (info.getSlideCount() != 0)
            counts.addChild(new StreamEntry("Slide count", propType, String.valueOf(info.getSlideCount())));

        if (counts.size() > 0)
            roots.add(counts);

        propType = "String";
        StreamEntry strings = new StreamEntry("Strings");
        strings.addChild(new StreamEntry("Category", propType, info.getCategory()));
        strings.addChild(new StreamEntry("Company", propType, info.getCompany()));
        strings.addChild(new StreamEntry("Manager", propType, info.getManager()));
        strings.addChild(new StreamEntry("Presentation Format", propType, info.getPresentationFormat()));

        roots.add(strings);

        propType = "Custom";
        StreamEntry custom = new StreamEntry("User-defined properties");
        CustomProperties props = info.getCustomProperties();

        if (props != null) {
            Set<Entry<Object, CustomProperty>> entries = props.entrySet();

            for (Entry<Object, CustomProperty> e : entries) {
                try {
                    custom.addChild(new StreamEntry(e.getValue().getName(), propType,
                            e.getValue().getValue().toString()));
                } catch (NullPointerException ex) {
                    // ignore any errors
                }
            }
        }
    } catch (Throwable t) {
        addMessage("Attempted to read " + DOC_SUMM + " stream but no property sets were found.", null,
                Message.CORRUPT);
    }

    return roots;
}