org.apache.poi.poifs.filesystem
Class EntryUtils

java.lang.Object
  extended by org.apache.poi.poifs.filesystem.EntryUtils

@Internal
public class EntryUtils
extends java.lang.Object


Constructor Summary
EntryUtils()
           
 
Method Summary
static boolean areDirectoriesIdentical(DirectoryEntry dirA, DirectoryEntry dirB)
          Checks to see if the two Directories hold the same contents.
static boolean areDocumentsIdentical(DocumentEntry docA, DocumentEntry docB)
          Checks to see if two Documents have the same name and the same contents.
static void copyNodeRecursively(Entry entry, DirectoryEntry target)
          Copies an Entry into a target POIFS directory, recursively
static void copyNodes(DirectoryEntry sourceRoot, DirectoryEntry targetRoot)
          Copies all the nodes from one POIFS Directory to another
static void copyNodes(FilteringDirectoryNode filteredSource, FilteringDirectoryNode filteredTarget)
          Copies nodes from one Directory to the other minus the excepts
static void copyNodes(NPOIFSFileSystem source, NPOIFSFileSystem target)
          Copies all nodes from one POIFS to the other
static void copyNodes(NPOIFSFileSystem source, NPOIFSFileSystem target, java.util.List<java.lang.String> excepts)
          Copies nodes from one POIFS to the other, minus the excepts.
static void copyNodes(OPOIFSFileSystem source, OPOIFSFileSystem target)
          Copies all nodes from one POIFS to the other
static void copyNodes(OPOIFSFileSystem source, OPOIFSFileSystem target, java.util.List<java.lang.String> excepts)
          Copies nodes from one POIFS to the other, minus the excepts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EntryUtils

public EntryUtils()
Method Detail

copyNodeRecursively

@Internal
public static void copyNodeRecursively(Entry entry,
                                                DirectoryEntry target)
                                throws java.io.IOException
Copies an Entry into a target POIFS directory, recursively

Throws:
java.io.IOException

copyNodes

public static void copyNodes(DirectoryEntry sourceRoot,
                             DirectoryEntry targetRoot)
                      throws java.io.IOException
Copies all the nodes from one POIFS Directory to another

Parameters:
sourceRoot - is the source Directory to copy from
targetRoot - is the target Directory to copy to
Throws:
java.io.IOException

copyNodes

public static void copyNodes(FilteringDirectoryNode filteredSource,
                             FilteringDirectoryNode filteredTarget)
                      throws java.io.IOException
Copies nodes from one Directory to the other minus the excepts

Parameters:
filteredSource - The filtering source Directory to copy from
filteredTarget - The filtering target Directory to copy to
Throws:
java.io.IOException

copyNodes

public static void copyNodes(OPOIFSFileSystem source,
                             OPOIFSFileSystem target)
                      throws java.io.IOException
Copies all nodes from one POIFS to the other

Parameters:
source - is the source POIFS to copy from
target - is the target POIFS to copy to
Throws:
java.io.IOException

copyNodes

public static void copyNodes(NPOIFSFileSystem source,
                             NPOIFSFileSystem target)
                      throws java.io.IOException
Copies all nodes from one POIFS to the other

Parameters:
source - is the source POIFS to copy from
target - is the target POIFS to copy to
Throws:
java.io.IOException

copyNodes

public static void copyNodes(OPOIFSFileSystem source,
                             OPOIFSFileSystem target,
                             java.util.List<java.lang.String> excepts)
                      throws java.io.IOException
Copies nodes from one POIFS to the other, minus the excepts. This delegates the filtering work to FilteringDirectoryNode, so excepts can be of the form "NodeToExclude" or "FilteringDirectory/ExcludedChildNode"

Parameters:
source - is the source POIFS to copy from
target - is the target POIFS to copy to
excepts - is a list of Entry Names to be excluded from the copy
Throws:
java.io.IOException

copyNodes

public static void copyNodes(NPOIFSFileSystem source,
                             NPOIFSFileSystem target,
                             java.util.List<java.lang.String> excepts)
                      throws java.io.IOException
Copies nodes from one POIFS to the other, minus the excepts. This delegates the filtering work to FilteringDirectoryNode, so excepts can be of the form "NodeToExclude" or "FilteringDirectory/ExcludedChildNode"

Parameters:
source - is the source POIFS to copy from
target - is the target POIFS to copy to
excepts - is a list of Entry Names to be excluded from the copy
Throws:
java.io.IOException

areDirectoriesIdentical

public static boolean areDirectoriesIdentical(DirectoryEntry dirA,
                                              DirectoryEntry dirB)
Checks to see if the two Directories hold the same contents. For this to be true, they must have entries with the same names, no entries in one but not the other, and the size+contents of each entry must match, and they must share names. To exclude certain parts of the Directory from being checked, use a FilteringDirectoryNode


areDocumentsIdentical

public static boolean areDocumentsIdentical(DocumentEntry docA,
                                            DocumentEntry docB)
                                     throws java.io.IOException
Checks to see if two Documents have the same name and the same contents. (Their parent directories are not checked)

Throws:
java.io.IOException