Top Inners Constructors Methods
org.apache.poi.poifs.filesystem

public final Class EntryUtils

extends Object
Class Inheritance
Annotations
@Internal
Imports
java.io.EOFException, .IOException, java.util.Iterator, .List, .Map, .Objects, java.util.stream.Collectors, .StreamSupport, org.apache.poi.hpsf.NoPropertySetStreamException, .PropertySet, .PropertySetFactory, org.apache.poi.util.Internal

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static interface

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static boolean
areDirectoriesIdentical(DirectoryEntry dirA, DirectoryEntry dirB)

Checks to see if the two Directories hold the same contents.

public static boolean
areDocumentsIdentical(DocumentEntry docA, DocumentEntry docB)

Compares two DocumentEntry instances of a POI file system.

public static void
copyNodeRecursively(Entry entry, DirectoryEntry target)

Copies an Entry into a target POIFS directory, recursively

public static void
copyNodes(DirectoryEntry
is the source Directory to copy from
sourceRoot
,
DirectoryEntry
is the target Directory to copy to
targetRoot
)

Copies all the nodes from one POIFS Directory to another

public static void
copyNodes(POIFSFileSystem
is the source POIFS to copy from
source
,
POIFSFileSystem
is the target POIFS to copy to
target
)

Copies all nodes from one POIFS to the other

public static void
copyNodes(POIFSFileSystem
is the source POIFS to copy from
source
,
POIFSFileSystem
is the target POIFS to copy to
target
,
List<String>
is a list of Entry Names to be excluded from the copy
excepts
)

Copies nodes from one POIFS to the other, minus the excepts.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

EntryUtilsback to summary
private EntryUtils()

Method Detail

areDirectoriesIdenticalback to summary
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
  • the size+contents of each entry must match
  • the storage classid of the directories must match
To exclude certain parts of the Directory from being checked, use a FilteringDirectoryNode
areDocumentsIdenticalback to summary
public static boolean areDocumentsIdentical(DocumentEntry docA, DocumentEntry docB) throws IOException

Compares two DocumentEntry instances of a POI file system. Documents that are not property set streams must be bitwise identical. Property set streams must be logically equal.

(Their parent directories are not checked)

Annotations
@SuppressWarnings:WeakerAccess
copyNodeRecursivelyback to summary
public static void copyNodeRecursively(Entry entry, DirectoryEntry target) throws IOException

Copies an Entry into a target POIFS directory, recursively

Annotations
@Internal
copyNodesback to summary
public static void copyNodes(DirectoryEntry sourceRoot, DirectoryEntry targetRoot) throws IOException

Copies all the nodes from one POIFS Directory to another

Parameters
sourceRoot:DirectoryEntry

is the source Directory to copy from

targetRoot:DirectoryEntry

is the target Directory to copy to

copyNodesback to summary
public static void copyNodes(POIFSFileSystem source, POIFSFileSystem target) throws IOException

Copies all nodes from one POIFS to the other

Parameters
source:POIFSFileSystem

is the source POIFS to copy from

target:POIFSFileSystem

is the target POIFS to copy to

copyNodesback to summary
public static void copyNodes(POIFSFileSystem source, POIFSFileSystem target, List<String> excepts) throws 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:POIFSFileSystem

is the source POIFS to copy from

target:POIFSFileSystem

is the target POIFS to copy to

excepts:List<String>

is a list of Entry Names to be excluded from the copy

org.apache.poi.poifs.filesystem back to summary

private Class EntryUtils.DirectoryDelegate

extends Object
implements POIDelegate
Class Inheritance
All Implemented Interfaces
org.apache.poi.poifs.filesystem.EntryUtils.POIDelegate

Field Summary

Modifier and TypeField and Description
pack-priv final DirectoryEntry

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private Map<String, EntryUtils.POIDelegate>
public boolean
equals(Object
the reference object with which to compare.
other
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

private static EntryUtils.POIDelegate
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAlltoStringwaitwaitwait

Field Detail

dirback to summary
pack-priv final DirectoryEntry dir

Constructor Detail

DirectoryDelegateback to summary
pack-priv DirectoryDelegate(DirectoryEntry dir)

Method Detail

entriesback to summary
private Map<String, EntryUtils.POIDelegate> entries()
equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
toDelegateback to summary
private static EntryUtils.POIDelegate toDelegate(Entry entry)
org.apache.poi.poifs.filesystem back to summary

private Class EntryUtils.DocumentDelegate

extends Object
implements POIDelegate
Class Inheritance
All Implemented Interfaces
org.apache.poi.poifs.filesystem.EntryUtils.POIDelegate

Field Summary

Modifier and TypeField and Description
pack-priv final DocumentEntry

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
other
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

private static boolean
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAlltoStringwaitwaitwait

Field Detail

docback to summary
pack-priv final DocumentEntry doc

Constructor Detail

DocumentDelegateback to summary
pack-priv DocumentDelegate(DocumentEntry doc)

Method Detail

equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
isEqualback to summary
private static boolean isEqual(DocumentInputStream i1, DocumentInputStream i2) throws IOException
org.apache.poi.poifs.filesystem back to summary

private Interface EntryUtils.POIDelegate

Known Direct Implementers
org.apache.poi.poifs.filesystem.EntryUtils.DirectoryDelegate, org.apache.poi.poifs.filesystem.EntryUtils.DocumentDelegate