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

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

Introduction

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

Prototype

public int getParCount() 

Source Link

Document

Returns the par count or 0 if the DocumentSummaryInformation does not contain a par 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 {/*from w ww .  ja  v a2s. 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;
}