Package loci.poi.poifs.filesystem
Class DirectoryNode
- java.lang.Object
-
- loci.poi.poifs.filesystem.EntryNode
-
- loci.poi.poifs.filesystem.DirectoryNode
-
- All Implemented Interfaces:
POIFSViewable,DirectoryEntry,Entry
public class DirectoryNode extends EntryNode implements DirectoryEntry, POIFSViewable
Simple implementation of DirectoryEntry- Author:
- Marc Johnson (mjohnson at apache dot org)
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DirectoryEntrycreateDirectory(java.lang.String name)create a new DirectoryEntryDocumentEntrycreateDocument(java.lang.String name, int size, POIFSWriterListener writer)create a new DocumentEntry; the data will be provided laterDocumentEntrycreateDocument(java.lang.String name, loci.common.RandomAccessInputStream stream)create a new DocumentEntryjava.util.IteratorgetEntries()get an iterator of the Entry instances contained directly in this instance (in other words, children only; no grandchildren etc.)EntrygetEntry(java.lang.String name)get a specified Entry by nameintgetEntryCount()find out how many Entry instances are contained directly within this DirectoryEntryPOIFSDocumentPathgetPath()java.lang.StringgetShortDescription()Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.ClassIDgetStorageClsid()Gets the storage clsid of the directory entryjava.lang.Object[]getViewableArray()Get an array of objects, some of which may implement POIFSViewablejava.util.IteratorgetViewableIterator()Get an Iterator of objects, some of which may implement POIFSViewableprotected booleanisDeleteOK()extensions use this method to verify internal rules regarding deletion of the underlying store.booleanisDirectoryEntry()is this a DirectoryEntry?booleanisEmpty()is this DirectoryEntry empty?booleanpreferArray()Give viewers a hint as to whether to call getViewableArray or getViewableIteratorvoidsetStorageClsid(ClassID clsidStorage)Sets the storage clsid for the directory entry-
Methods inherited from class loci.poi.poifs.filesystem.EntryNode
delete, getName, getParent, getProperty, isDocumentEntry, isRoot, 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:
getEntriesin interfaceDirectoryEntry- 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:
isEmptyin interfaceDirectoryEntry- 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:
getEntryCountin interfaceDirectoryEntry- 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:
getEntryin interfaceDirectoryEntry- 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, loci.common.RandomAccessInputStream stream) throws java.io.IOException
create a new DocumentEntry- Specified by:
createDocumentin interfaceDirectoryEntry- Parameters:
name- the name of the new DocumentEntrystream- 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:
createDocumentin interfaceDirectoryEntry- Parameters:
name- the name of the new DocumentEntrysize- the size of the new DocumentEntrywriter- 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:
createDirectoryin interfaceDirectoryEntry- Parameters:
name- the name of the new DirectoryEntry- Returns:
- the new DirectoryEntry
- Throws:
java.io.IOException
-
getStorageClsid
public ClassID getStorageClsid()
Gets the storage clsid of the directory entry- Specified by:
getStorageClsidin interfaceDirectoryEntry- Returns:
- storage Class ID
-
setStorageClsid
public void setStorageClsid(ClassID clsidStorage)
Sets the storage clsid for the directory entry- Specified by:
setStorageClsidin interfaceDirectoryEntry- Parameters:
clsidStorage- storage Class ID
-
isDirectoryEntry
public boolean isDirectoryEntry()
is this a DirectoryEntry?- Specified by:
isDirectoryEntryin interfaceEntry- Overrides:
isDirectoryEntryin classEntryNode- 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.- Specified by:
isDeleteOKin classEntryNode- 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:
getViewableArrayin interfacePOIFSViewable- 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:
getViewableIteratorin interfacePOIFSViewable- 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:
preferArrayin interfacePOIFSViewable- 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:
getShortDescriptionin interfacePOIFSViewable- Returns:
- short description
-
-