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 DirectoryEntry
createDirectory(String name)
create a new DirectoryEntryDocumentEntry
createDocument(String name, int size, POIFSWriterListener writer)
create a new DocumentEntry; the data will be provided laterDocumentEntry
createDocument(String name, loci.common.RandomAccessInputStream stream)
create a new DocumentEntryIterator
getEntries()
get an iterator of the Entry instances contained directly in this instance (in other words, children only; no grandchildren etc.)Entry
getEntry(String name)
get a specified Entry by nameint
getEntryCount()
find out how many Entry instances are contained directly within this DirectoryEntryPOIFSDocumentPath
getPath()
String
getShortDescription()
Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.ClassID
getStorageClsid()
Gets the storage clsid of the directory entryObject[]
getViewableArray()
Get an array of objects, some of which may implement POIFSViewableIterator
getViewableIterator()
Get an Iterator of objects, some of which may implement POIFSViewableprotected 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 getViewableIteratorvoid
setStorageClsid(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 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 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:
isEmpty
in 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:
getEntryCount
in interfaceDirectoryEntry
- Returns:
- number of immediately (no grandchildren etc.) contained Entry instances
-
getEntry
public Entry getEntry(String name) throws FileNotFoundException
get a specified Entry by name- Specified by:
getEntry
in interfaceDirectoryEntry
- Parameters:
name
- the name of the Entry to obtain.- Returns:
- the specified Entry, if it is directly contained in this DirectoryEntry
- Throws:
FileNotFoundException
- if no Entry with the specified name exists in this DirectoryEntry
-
createDocument
public DocumentEntry createDocument(String name, loci.common.RandomAccessInputStream stream) throws IOException
create a new DocumentEntry- Specified by:
createDocument
in interfaceDirectoryEntry
- Parameters:
name
- the name of the new DocumentEntrystream
- the InputStream from which to create the new DocumentEntry- Returns:
- the new DocumentEntry
- Throws:
IOException
-
createDocument
public DocumentEntry createDocument(String name, int size, POIFSWriterListener writer) throws IOException
create a new DocumentEntry; the data will be provided later- Specified by:
createDocument
in 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:
IOException
-
createDirectory
public DirectoryEntry createDirectory(String name) throws IOException
create a new DirectoryEntry- Specified by:
createDirectory
in interfaceDirectoryEntry
- Parameters:
name
- the name of the new DirectoryEntry- Returns:
- the new DirectoryEntry
- Throws:
IOException
-
getStorageClsid
public ClassID getStorageClsid()
Gets the storage clsid of the directory entry- Specified by:
getStorageClsid
in interfaceDirectoryEntry
- Returns:
- storage Class ID
-
setStorageClsid
public void setStorageClsid(ClassID clsidStorage)
Sets the storage clsid for the directory entry- Specified by:
setStorageClsid
in interfaceDirectoryEntry
- Parameters:
clsidStorage
- storage Class ID
-
isDirectoryEntry
public boolean isDirectoryEntry()
is this a DirectoryEntry?- Specified by:
isDirectoryEntry
in interfaceEntry
- Overrides:
isDirectoryEntry
in 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:
isDeleteOK
in classEntryNode
- Returns:
- true if it's ok to delete the underlying store, else false
-
getViewableArray
public Object[] getViewableArray()
Get an array of objects, some of which may implement POIFSViewable- Specified by:
getViewableArray
in interfacePOIFSViewable
- Returns:
- an array of Object; may not be null, but may be empty
-
getViewableIterator
public Iterator getViewableIterator()
Get an Iterator of objects, some of which may implement POIFSViewable- Specified by:
getViewableIterator
in 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:
preferArray
in interfacePOIFSViewable
- Returns:
- true if a viewer should call getViewableArray, false if a viewer should call getViewableIterator
-
getShortDescription
public 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 interfacePOIFSViewable
- Returns:
- short description
-
-