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

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

Introduction

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

Prototype

public int getHiddenCount() 

Source Link

Document

Returns the hidden count or 0 if the DocumentSummaryInformation does not contain a hidden 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 ww w  .j ava  2 s .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;
}