Example usage for org.apache.poi.poifs.filesystem POIFSDocument getShortDescription

List of usage examples for org.apache.poi.poifs.filesystem POIFSDocument getShortDescription

Introduction

In this page you can find the example usage for org.apache.poi.poifs.filesystem POIFSDocument getShortDescription.

Prototype

public String getShortDescription() 

Source Link

Document

Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.

Usage

From source file:tv.amwa.maj.io.aaf.AAFTestRead.java

License:Apache License

@SuppressWarnings("unchecked")
public final static void entryIterator(DirectoryEntry directory) throws IOException {

    for (Iterator<Entry> iter = directory.getEntries(); iter.hasNext();) {
        Entry entry = (Entry) iter.next();

        if (entry instanceof DirectoryEntry) {
            //System.out.println(makeIndent() + "Directory :" + entry.getName());

            DirectoryNode dirNode = (DirectoryNode) entry;
            System.out.println(//  w ww.  j a  v  a2 s .  com
                    makeIndent() + dirNode.getPath().toString() + " " + dirNode.getStorageClsid().toString());

            for (Iterator jerry = dirNode.getViewableIterator(); jerry.hasNext();) {

                Object theNext = jerry.next();
                // System.out.println("dirNode#" + theNext.toString());

                if (theNext instanceof DirectoryProperty) {

                    @SuppressWarnings("unused")
                    DirectoryProperty dirProperty = (DirectoryProperty) theNext;
                    // System.out.println("dirProperty#" + dirProperty.getShortDescription() + ": " + dirProperty.getSize());
                }

            }

            indent += 2;
            entryIterator((DirectoryEntry) entry);
        } else if (entry instanceof DocumentEntry) {
            System.out.println(makeIndent() + "Document : " + entry.getName());

            System.out.println(makeIndent() + "Documnent class: " + entry.getClass().getName());

            for (Iterator frank = ((DocumentNode) entry).getViewableIterator(); frank.hasNext();) {

                Object theNextDoc = frank.next();

                System.out.println("docNode#" + theNextDoc.toString());
                /*
                if (theNextDoc instanceof DocumentProperty) {
                           
                   DocumentProperty docProp = (DocumentProperty) theNextDoc;
                   System.out.println("docPropertyName: " + docProp.getName() + " " + docProp.getShortDescription());
                           
                   for ( Iterator ben = docProp.getViewableIterator() ; ben.hasNext() ; ) {
                      System.out.println("HELLO: " + ben.next().toString());
                   }
                }*/

                if (theNextDoc instanceof POIFSDocument) {

                    POIFSDocument theDoc = (POIFSDocument) theNextDoc;

                    System.out.println("docName: " + theDoc.getShortDescription());
                    System.out.println(
                            "docBlocks: " + theDoc.countBlocks() + " " + theDoc.getSmallBlocks().length);

                    BlockWritable[] blocks = theDoc.getSmallBlocks();
                    for (int x = 0; x < blocks.length; x++) {
                        System.out.println("Block " + x + ": " + blocks[x].toString());

                        if (blocks[x] instanceof SmallDocumentBlock) {

                            SmallDocumentBlock block = (SmallDocumentBlock) blocks[x];
                            System.out.println(Arrays.toString(block.getData()));
                        }
                    }
                }
            }

        } else {
            // currently, either an Entry is a DirectoryEntry or a DocumentEntry,
            // but in the future, there may be other entry subinterfaces. The
            // internal data structure certainly allows for a lot more entry types.
            System.out.println("Unknown entry of type " + entry.getClass().getName());
        }
    }

    indent -= 2;
}