org.apache.poi.poifs.filesystem
Class DirectoryNode

java.lang.Object
  |
  +--org.apache.poi.poifs.filesystem.EntryNode
        |
        +--org.apache.poi.poifs.filesystem.DirectoryNode
All Implemented Interfaces:
DirectoryEntry, Entry, POIFSViewable

public class DirectoryNode
extends EntryNode
implements DirectoryEntry, POIFSViewable

Simple implementation of DirectoryEntry

Author:
Marc Johnson (mjohnson at apache dot org)

Method Summary
 DirectoryEntry createDirectory(java.lang.String name)
          create a new DirectoryEntry
 DocumentEntry createDocument(java.lang.String name, java.io.InputStream stream)
          create a new DocumentEntry
 DocumentEntry createDocument(java.lang.String name, int size, POIFSWriterListener writer)
          create a new DocumentEntry; the data will be provided later
 java.util.Iterator getEntries()
          get an iterator of the Entry instances contained directly in this instance (in other words, children only; no grandchildren etc.)
 Entry getEntry(java.lang.String name)
          get a specified Entry by name
 int getEntryCount()
          find out how many Entry instances are contained directly within this DirectoryEntry
 POIFSDocumentPath getPath()
           
 java.lang.String getShortDescription()
          Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.
 java.lang.Object[] getViewableArray()
          Get an array of objects, some of which may implement POIFSViewable
 java.util.Iterator getViewableIterator()
          Get an Iterator of objects, some of which may implement POIFSViewable
protected  boolean isDeleteOK()
          extensions use this method to verify internal rules regarding deletion of the underlying store.
 boolean isDirectoryEntry()
          is this a DirectoryEntry?
 boolean isEmpty()
          is this DirectoryEntry empty?
 boolean preferArray()
          Give viewers a hint as to whether to call getViewableArray or getViewableIterator
 
Methods inherited from class org.apache.poi.poifs.filesystem.EntryNode
delete, getName, getParent, getProperty, isDocumentEntry, isRoot, renameTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.poi.poifs.filesystem.Entry
delete, getName, getParent, isDocumentEntry, renameTo
 

Method Detail

getPath

public POIFSDocumentPath getPath()
Returns:
this directory's path representation

getEntries

public java.util.Iterator getEntries()
get an iterator of the Entry instances contained directly in this instance (in other words, children only; no grandchildren etc.)
Specified by:
getEntries in interface DirectoryEntry
Returns:
iterator; never null, but hasNext() may return false immediately (i.e., this DirectoryEntry is empty). All objects retrieved by next() are guaranteed to be implementations of Entry.

isEmpty

public boolean isEmpty()
is this DirectoryEntry empty?
Specified by:
isEmpty in interface DirectoryEntry
Returns:
true if this instance contains no Entry instances

getEntryCount

public int getEntryCount()
find out how many Entry instances are contained directly within this DirectoryEntry
Specified by:
getEntryCount in interface DirectoryEntry
Returns:
number of immediately (no grandchildren etc.) contained Entry instances

getEntry

public Entry getEntry(java.lang.String name)
               throws java.io.FileNotFoundException
get a specified Entry by name
Specified by:
getEntry in interface DirectoryEntry
Parameters:
name - the name of the Entry to obtain.
Returns:
the specified Entry, if it is directly contained in this DirectoryEntry
Throws:
java.io.FileNotFoundException - if no Entry with the specified name exists in this DirectoryEntry

createDocument

public DocumentEntry createDocument(java.lang.String name,
                                    java.io.InputStream stream)
                             throws java.io.IOException
create a new DocumentEntry
Specified by:
createDocument in interface DirectoryEntry
Parameters:
name - the name of the new DocumentEntry
stream - the InputStream from which to create the new DocumentEntry
Returns:
the new DocumentEntry
Throws:
java.io.IOException -  

createDocument

public DocumentEntry createDocument(java.lang.String name,
                                    int size,
                                    POIFSWriterListener writer)
                             throws java.io.IOException
create a new DocumentEntry; the data will be provided later
Specified by:
createDocument in interface DirectoryEntry
Parameters:
name - the name of the new DocumentEntry
size - the size of the new DocumentEntry
writer - the writer of the new DocumentEntry
Returns:
the new DocumentEntry
Throws:
java.io.IOException -  

createDirectory

public DirectoryEntry createDirectory(java.lang.String name)
                               throws java.io.IOException
create a new DirectoryEntry
Specified by:
createDirectory in interface DirectoryEntry
Parameters:
name - the name of the new DirectoryEntry
Returns:
the new DirectoryEntry
Throws:
java.io.IOException -  

isDirectoryEntry

public boolean isDirectoryEntry()
is this a DirectoryEntry?
Specified by:
isDirectoryEntry in interface Entry
Overrides:
isDirectoryEntry in class EntryNode
Returns:
true if the Entry is a DirectoryEntry, else false

isDeleteOK

protected boolean isDeleteOK()
extensions use this method to verify internal rules regarding deletion of the underlying store.
Overrides:
isDeleteOK in class EntryNode
Returns:
true if it's ok to delete the underlying store, else false

getViewableArray

public java.lang.Object[] getViewableArray()
Get an array of objects, some of which may implement POIFSViewable
Specified by:
getViewableArray in interface POIFSViewable
Returns:
an array of Object; may not be null, but may be empty

getViewableIterator

public java.util.Iterator getViewableIterator()
Get an Iterator of objects, some of which may implement POIFSViewable
Specified by:
getViewableIterator in interface POIFSViewable
Returns:
an Iterator; may not be null, but may have an empty back end store

preferArray

public boolean preferArray()
Give viewers a hint as to whether to call getViewableArray or getViewableIterator
Specified by:
preferArray in interface POIFSViewable
Returns:
true if a viewer should call getViewableArray, false if a viewer should call getViewableIterator

getShortDescription

public java.lang.String getShortDescription()
Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.
Specified by:
getShortDescription in interface POIFSViewable
Returns:
short description


Copyright © 2002 Apache jakarta-poi project. All Rights Reserved.