public abstract class Difference extends java.lang.Object implements Copyable, DynamicPropertySet
Constructor and Description |
---|
Difference() |
Modifier and Type | Method and Description |
---|---|
protected void |
copyToImpl(Difference other)
Subclasses should call this as part of the Copyable implementation.
|
abstract java.util.Collection<? extends Difference> |
getChildren()
Gets all the children of this Difference.
|
abstract java.lang.Class |
getDifferenceClass()
Gets the Class of the object this Difference is for.
|
Difference |
getFilteredDifference(DifferenceFilter... filters)
Filters this Difference using the given filter and returns a new filtered Difference.
|
abstract int |
getIndexOf(java.lang.String contributor)
Get the index of the contributor in a list.
|
int |
getIndexOfOriginalObject()
Get the index of the original object.
|
int |
getIndexOfUpdatedObject()
Get the index of the updated object.
|
abstract java.lang.Object |
getObject(java.lang.String contributor)
Get an object which contributes to the Difference.
|
abstract java.lang.String |
getOriginalContributor()
Get the name of the contributor which describes the origianl object.
|
java.lang.Object |
getOriginalObject()
Get the original object.
|
protected java.lang.String |
getOriginalObjectForLog()
Called by the print code to get the original object value as a String to include in a print.
|
Difference |
getParent()
Gets the parent of this Difference, if one exists.
|
java.util.Map |
getProperties()
Retrieves a map holding the property-value pairs.
|
java.lang.Object |
getProperty(java.lang.String key)
Retrieves the value associated with a property.
|
java.lang.Object |
getProperty(java.lang.String key, java.lang.Object defaultValue)
Retrieves the value associated with a property.
|
abstract java.lang.String |
getPropertyName()
Get the property name of this difference.
|
java.lang.String |
getPropertyPath()
Get the property path of this difference.
|
abstract java.lang.String |
getUpdateContributor()
Get the name of the contributor which describes the changes the user wishes to apply.
|
java.lang.Object |
getUpdatedObject()
Get the updated object.
|
protected java.lang.String |
getUpdatedObjectForLog()
Called by the print code to get the updated object value as a String to include in a print.
|
boolean |
isFiltered()
Tests whether this Difference has been filtered - i.e.
|
abstract boolean |
isLeaf()
Is this Difference a leaf? That is, it cannot have child differences.
|
abstract boolean |
isList()
Is this difference a list? That is, a list of children.
|
abstract boolean |
isMap()
Is this Difference a map? This is, a map of child attributes.
|
abstract boolean |
isModified()
Both the original and the update contibutors have This object, but it is different.
|
boolean |
isSame()
All the contributor agree that this object is the same
|
void |
print()
For Diagnostic purposes, print the difference to the this class's Logger at the tracing log level.
|
void |
print(java.util.logging.Logger logger, java.util.logging.Level level)
Prints this different to the given Logger and Level.
|
abstract void |
setObject(java.lang.String contributor, java.lang.Object object)
Sets the object which contributes to the Difference for the given contributor.
|
protected void |
setParent(Difference parent)
Sets the parent of the Difference
|
void |
setProperties(java.util.Map properties)
Sets the map holding the property-value pairs.
|
void |
setProperty(java.lang.String key, java.lang.Object value)
Sets the value for a property.
|
void |
setSame(boolean same)
Overrides whether this Difference is the same (i.e.
|
abstract void |
setUpdateContributor(java.lang.String contributor)
Set the name of the contributor which describes the changes the user wishes to apply.
|
java.lang.String |
toString() |
public Difference getParent()
protected void setParent(Difference parent)
parent
- the Difference for the parent object or property of this Difference.public abstract java.lang.String getPropertyName()
public java.lang.String getPropertyPath()
getPropertyName()
public abstract boolean isModified()
public boolean isSame()
public final boolean isFiltered()
public void setSame(boolean same)
public abstract boolean isLeaf()
public abstract boolean isMap()
public abstract boolean isList()
public abstract java.lang.Object getObject(java.lang.String contributor)
public abstract void setObject(java.lang.String contributor, java.lang.Object object)
public abstract int getIndexOf(java.lang.String contributor)
public abstract void setUpdateContributor(java.lang.String contributor)
public abstract java.lang.String getOriginalContributor()
public abstract java.lang.String getUpdateContributor()
public abstract java.util.Collection<? extends Difference> getChildren()
public abstract java.lang.Class getDifferenceClass()
public final java.lang.Object getOriginalObject()
public final java.lang.Object getUpdatedObject()
public final int getIndexOfOriginalObject()
public final int getIndexOfUpdatedObject()
public Difference getFilteredDifference(DifferenceFilter... filters)
filter
-public final java.util.Map getProperties()
DynamicPropertySet
getProperties
in interface DynamicPropertySet
public final java.lang.Object getProperty(java.lang.String key)
DynamicPropertySet
getProperty
in interface DynamicPropertySet
key
- the property key for which a value is desired. exists.null
value if the property does not exist or is not set.public final java.lang.Object getProperty(java.lang.String key, java.lang.Object defaultValue)
DynamicPropertySet
getProperty
in interface DynamicPropertySet
key
- the property key for which a value is desired.defaultValue
- the value to return if no value currently exists.public final void setProperties(java.util.Map properties)
DynamicPropertySet
setProperties
in interface DynamicPropertySet
public final void setProperty(java.lang.String key, java.lang.Object value)
DynamicPropertySet
null
removes that property.setProperty
in interface DynamicPropertySet
key
- the property key to setvalue
- the value to setprotected void copyToImpl(Difference other)
public final void print()
public final void print(java.util.logging.Logger logger, java.util.logging.Level level)
logger
- the logger to print tolevel
- the level to print atprotected java.lang.String getOriginalObjectForLog()
getOriginalObject()
, print(Logger,Level)
protected java.lang.String getUpdatedObjectForLog()
getUpdatedObject()
, print(Logger,Level)
public java.lang.String toString()
toString
in class java.lang.Object