Package org.apache.sis.util
Class Utilities
Static methods for object comparisons in different ways (deeply, approximately, etc).
- Since:
- 0.3
Defined in the sis-utility module
- 
Method SummaryModifier and TypeMethodDescriptionstatic booleandeepEquals(Object object1, Object object2, ComparisonMode mode) Convenience method for testing two objects for equality using the given level of strictness.static intdeepHashCode(Object object) Returns a hash code for the specified object, which may be an array.static StringdeepToString(Object object) Returns a string representation of the specified object, which may be an array.static booleanequalsApproximately(Object object1, Object object2) Compares the specified objects for equality, ignoring metadata and slight differences in numerical values.static booleanequalsIgnoreMetadata(Object object1, Object object2) Compares the specified objects for equality, ignoring metadata.
- 
Method Details- 
equalsIgnoreMetadataCompares the specified objects for equality, ignoring metadata. If this method returnstrue, then:- If the two given objects are math transforms, then transforming a set of coordinate values using one transform will produce the same results than transforming the same coordinates with the other transform.
- If the two given objects are
       Coordinate Reference Systems (CRS), then a call to
       findOperation(crs1, crs2, null)will return an identity operation.
 equalsApproximately(Object, Object)can be used instead.Implementation noteThis is a convenience method for the following method call:return deepEquals(object1, object2, ComparisonMode.IGNORE_METADATA); - Parameters:
- object1- the first object to compare (may be null).
- object2- the second object to compare (may be null).
- Returns:
- trueif both objects are equal, ignoring metadata.
- See Also:
 
- 
equalsApproximatelyCompares the specified objects for equality, ignoring metadata and slight differences in numerical values. If this method returnstrue, then:- If the two given objects are math transforms, then transforming a set of coordinate values using one transform will produce approximately the same results than transforming the same coordinates with the other transform.
- If the two given objects are
       Coordinate Reference Systems (CRS), then a call to
       findOperation(crs1, crs2, null)will return an operation close to identity.
 Implementation noteThis is a convenience method for the following method call:return deepEquals(object1, object2, ComparisonMode.APPROXIMATE); - Parameters:
- object1- the first object to compare (may be null).
- object2- the second object to compare (may be null).
- Returns:
- trueif both objects are approximately equal.
- See Also:
 
- 
deepEqualsConvenience method for testing two objects for equality using the given level of strictness. If at least one of the given objects implement theLenientComparableinterface, then the comparison is performed using theLenientComparable.equals(Object, ComparisonMode)method. Otherwise this method performs the same work than theObjects.deepEquals(Object, Object)convenience method.If both arguments are arrays or collections, then the elements are compared recursively. - Parameters:
- object1- the first object to compare, or- null.
- object2- the second object to compare, or- null.
- mode- the strictness level of the comparison.
- Returns:
- trueif both objects are equal for the given level of strictness.
- See Also:
 
- 
deepHashCodeReturns a hash code for the specified object, which may be an array. This method returns one of the following values:- If the supplied object is null, then this method returns 0.
- Otherwise if the object is an array of objects, then
       Arrays.deepHashCode(Object[])is invoked.
- Otherwise if the object is an array of primitive type, then the corresponding
       Arrays.hashCode(...)method is invoked.
- Otherwise Object.hashCode()is invoked.
 Object, not as some subtype likeObject[],Stringorfloat[]. In the latter cases, use the appropriateArraysmethod instead.- Parameters:
- object- the object to compute hash code. May be- null.
- Returns:
- the hash code of the given object.
 
- If the supplied object is 
- 
deepToStringReturns a string representation of the specified object, which may be an array. This method returns one of the following values:- If the object is an array of objects, then
       Arrays.deepToString(Object[])is invoked.
- Otherwise if the object is an array of primitive type, then the corresponding
       Arrays.toString(...)method is invoked.
- Otherwise String.valueOf(Object)is invoked.
 Object, not as some subtype likeObject[],Numberorfloat[]. In the latter cases, use the appropriateArraysmethod instead.- Parameters:
- object- the object to format as a string. May be- null.
- Returns:
- a string representation of the given object.
 
- If the object is an array of objects, then
       
 
-