Class EntryUtils

java.lang.Object
org.docx4j.org.apache.poi.poifs.filesystem.EntryUtils

@Internal
public class EntryUtils
extends java.lang.Object
  • Constructor Details

  • Method Details

    • 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​(DirectoryEntry sourceRoot, DirectoryEntry targetRoot, java.util.List<java.lang.String> excepts) throws java.io.IOException
      Deprecated.
      Copies nodes from one Directory to the other minus the excepts
      Parameters:
      sourceRoot - is the source Directory to copy from
      targetRoot - is the target Directory to copy to
      excepts - is a list of Strings specifying what nodes NOT to copy
      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