Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:
  java.lang.Iterable<Entry>, POIFSViewable, DirectoryEntry, Entry

    public class DirectoryNode

extends EntryNode
implements DirectoryEntry, POIFSViewable, java.lang.Iterable<Entry>

Simple implementation of DirectoryEntry

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
`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).
`NPOIFSFileSystem` | `getFileSystem()`
`NPOIFSFileSystem` | `getNFileSystem()` If this is NPOIFS based, return the NPOIFSFileSystem that this belong to, otherwise Null if OPOIFS based
`OPOIFSFileSystem` | `getOFileSystem()` If this is OPOIFS based, return the NPOIFSFileSystem that this belong to, otherwise Null if NPOIFS based
`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

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

### getFileSystem

    public NPOIFSFileSystem getFileSystem()

  Returns:
    the filesystem that this belongs to

### getOFileSystem

    public OPOIFSFileSystem getOFileSystem()

  If this is OPOIFS based, return the NPOIFSFileSystem that this belong to, otherwise Null if NPOIFS based

  Returns:
    the filesystem that this belongs to

### getNFileSystem

    public NPOIFSFileSystem getNFileSystem()

  If this is NPOIFS based, return the NPOIFSFileSystem that this belong to, otherwise Null if OPOIFS based

  Returns:
    the filesystem that this belongs to

### createDocumentInputStream

    public DocumentInputStream createDocumentInputStream(java.lang.String documentName)
                                                  throws java.io.IOException

  open a document in the directory's entry's list of entries

  Parameters:
    `documentName` - the name of the document to be opened
  Returns:
    a newly opened DocumentInputStream
  Throws:
    `java.io.IOException` - if the document does not exist or the name is that of a DirectoryEntry

### createDocumentInputStream

    public DocumentInputStream createDocumentInputStream(Entry document)
                                                  throws java.io.IOException

  open a document in the directory's entry's list of entries

  Parameters:
    `document` - the document to be opened
  Returns:
    a newly opened DocumentInputStream or NDocumentInputStream
  Throws:
    `java.io.IOException` - if the document does not exist or the name is that of a DirectoryEntry

### getEntries

    public 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.)

  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.

### getEntryNames

    public 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).

  Specified by:
    `getEntryNames` in interface `DirectoryEntry`
  Returns:
    the names of all the entries that may be retrieved with getEntry(String), which may be empty (if this DirectoryEntry is empty)

### 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

### hasEntry

    public boolean hasEntry(java.lang.String name)

  Description copied from interface: `DirectoryEntry`
  Checks if entry with specified name present

  Specified by:
    `hasEntry` in interface `DirectoryEntry`

### 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`

### createOrUpdateDocument

    public DocumentEntry createOrUpdateDocument(java.lang.String name,
                                                java.io.InputStream stream)
                                         throws java.io.IOException

  Set the contents of a document, creating if needed, otherwise updating. Returns the created / updated DocumentEntry

  Parameters:
    `name` - the name of the new or existing DocumentEntry
    `stream` - the InputStream from which to populate the DocumentEntry
  Returns:
    the new or updated DocumentEntry
  Throws:
    `java.io.IOException`

### getStorageClsid

    public ClassID getStorageClsid()

  Gets the storage clsid of the directory entry

  Specified by:
    `getStorageClsid` in interface `DirectoryEntry`
  Returns:
    storage Class ID

### setStorageClsid

    public void setStorageClsid(ClassID clsidStorage)

  Sets the storage clsid for the directory entry

  Specified by:
    `setStorageClsid` in interface `DirectoryEntry`
  Parameters:
    `clsidStorage` - storage Class ID

### 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.

  Specified by:
    `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<java.lang.Object> 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

### iterator

    public java.util.Iterator<Entry> iterator()

  Returns an Iterator over all the entries

  Specified by:
    `iterator` in interface `java.lang.Iterable<Entry>`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.