public class DirectoryNode extends EntryNode implements DirectoryEntry, POIFSViewable, java.lang.Iterable<Entry>
Modifier and Type | Method and Description |
---|---|
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
|
DocumentInputStream |
createDocumentInputStream(Entry document)
open a document in the directory's entry's list of entries
|
DocumentInputStream |
createDocumentInputStream(java.lang.String documentName)
open a document in the directory's entry's list of entries
|
DocumentEntry |
createOrUpdateDocument(java.lang.String name,
java.io.InputStream stream)
Set the contents of a document, creating if needed,
otherwise updating.
|
java.util.Iterator<Entry> |
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
|
java.util.Set<java.lang.String> |
getEntryNames()
get the names of all the Entries contained directly in this
instance (in other words, names of children only; no grandchildren
etc).
|
POIFSFileSystem |
getFileSystem() |
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.
|
ClassID |
getStorageClsid()
Gets the storage clsid of the directory entry
|
java.lang.Object[] |
getViewableArray()
Get an array of objects, some of which may implement
POIFSViewable
|
java.util.Iterator<java.lang.Object> |
getViewableIterator()
Get an Iterator of objects, some of which may implement
POIFSViewable
|
boolean |
hasEntry(java.lang.String name)
Checks if entry with specified name present
|
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?
|
java.util.Iterator<Entry> |
iterator()
Returns an Iterator over all the entries
|
boolean |
preferArray()
Give viewers a hint as to whether to call getViewableArray or
getViewableIterator
|
void |
setStorageClsid(ClassID clsidStorage)
Sets the storage clsid for the directory entry
|
java.util.Spliterator<Entry> |
spliterator()
Returns a Spliterator over all the entries
|
delete, getName, getParent, getProperty, isDocumentEntry, isRoot, renameTo
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public POIFSDocumentPath getPath()
public POIFSFileSystem getFileSystem()
public DocumentInputStream createDocumentInputStream(java.lang.String documentName) throws java.io.IOException
documentName
- the name of the document to be openedjava.io.IOException
- if the document does not exist or the
name is that of a DirectoryEntrypublic DocumentInputStream createDocumentInputStream(Entry document) throws java.io.IOException
document
- the document to be openedjava.io.IOException
- if the document does not exist or the
name is that of a DirectoryEntrypublic java.util.Iterator<Entry> getEntries()
getEntries
in interface DirectoryEntry
public java.util.Set<java.lang.String> getEntryNames()
getEntryNames
in interface DirectoryEntry
public boolean isEmpty()
isEmpty
in interface DirectoryEntry
public int getEntryCount()
getEntryCount
in interface DirectoryEntry
public boolean hasEntry(java.lang.String name)
DirectoryEntry
hasEntry
in interface DirectoryEntry
public Entry getEntry(java.lang.String name) throws java.io.FileNotFoundException
getEntry
in interface DirectoryEntry
name
- the name of the Entry to obtain.java.io.FileNotFoundException
- if no Entry with the specified
name exists in this DirectoryEntrypublic DocumentEntry createDocument(java.lang.String name, java.io.InputStream stream) throws java.io.IOException
createDocument
in interface DirectoryEntry
name
- the name of the new DocumentEntrystream
- the InputStream from which to create the new
DocumentEntryjava.io.IOException
- if the document can't be createdpublic DocumentEntry createDocument(java.lang.String name, int size, POIFSWriterListener writer) throws java.io.IOException
createDocument
in interface DirectoryEntry
name
- the name of the new DocumentEntrysize
- the size of the new DocumentEntrywriter
- the writer of the new DocumentEntryjava.io.IOException
- if the document can't be createdpublic DirectoryEntry createDirectory(java.lang.String name) throws java.io.IOException
createDirectory
in interface DirectoryEntry
name
- the name of the new DirectoryEntryjava.io.IOException
- if the directory can't be createdpublic DocumentEntry createOrUpdateDocument(java.lang.String name, java.io.InputStream stream) throws java.io.IOException
name
- the name of the new or existing DocumentEntrystream
- the InputStream from which to populate the DocumentEntryjava.io.IOException
- if the document can't be created or its content be replacedpublic ClassID getStorageClsid()
getStorageClsid
in interface DirectoryEntry
public void setStorageClsid(ClassID clsidStorage)
setStorageClsid
in interface DirectoryEntry
clsidStorage
- storage Class IDpublic boolean isDirectoryEntry()
isDirectoryEntry
in interface Entry
isDirectoryEntry
in class EntryNode
protected boolean isDeleteOK()
isDeleteOK
in class EntryNode
public java.lang.Object[] getViewableArray()
getViewableArray
in interface POIFSViewable
public java.util.Iterator<java.lang.Object> getViewableIterator()
getViewableIterator
in interface POIFSViewable
public boolean preferArray()
preferArray
in interface POIFSViewable
public java.lang.String getShortDescription()
getShortDescription
in interface POIFSViewable
public java.util.Iterator<Entry> iterator()
iterator
in interface java.lang.Iterable<Entry>
Copyright 2022 The Apache Software Foundation or its licensors, as applicable.