List of usage examples for org.apache.poi.hpsf DocumentSummaryInformation getByteCount
public int getByteCount()
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; }