Package org.javers.core.diff.appenders
Class CorePropertyChangeAppender<T extends PropertyChange>
- java.lang.Object
-
- org.javers.core.diff.appenders.CorePropertyChangeAppender<T>
-
- All Implemented Interfaces:
PropertyChangeAppender<T>
- Direct Known Subclasses:
LevenshteinListChangeAppender
,SimpleListChangeAppender
public abstract class CorePropertyChangeAppender<T extends PropertyChange> extends java.lang.Object implements PropertyChangeAppender<T>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
GENERIC_TYPE_NOT_PARAMETRIZED
JaVers needs to know actual Class of elements stored in your Collections and Maps.-
Fields inherited from interface org.javers.core.diff.appenders.PropertyChangeAppender
HIGH_PRIORITY, LOW_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description CorePropertyChangeAppender()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract T
calculateChanges(java.lang.Object leftValue, java.lang.Object rightValue, NodePair pair, JaversProperty property)
T
calculateChanges(NodePair pair, JaversProperty property)
static void
renderNotParametrizedWarningIfNeeded(java.lang.reflect.Type parameterType, java.lang.String parameterName, java.lang.String colType, JaversProperty property)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.javers.core.diff.appenders.PropertyChangeAppender
priority, supports
-
-
-
-
Field Detail
-
GENERIC_TYPE_NOT_PARAMETRIZED
public static final java.lang.String GENERIC_TYPE_NOT_PARAMETRIZED
JaVers needs to know actual Class of elements stored in your Collections and Maps.
Wildcards (e.g. Set<?>), unbounded type parameters (e.g. Set<T>)
or missing parameters (e.g. Set) are defaulted to Object.class.
For Collections of Values it's a reasonable guess
but for Collections of Entities or ValueObjects you should use fully parametrized types (e.g. Set<Person>).- See Also:
- Constant Field Values
-
-
Method Detail
-
renderNotParametrizedWarningIfNeeded
public static void renderNotParametrizedWarningIfNeeded(java.lang.reflect.Type parameterType, java.lang.String parameterName, java.lang.String colType, JaversProperty property)
-
calculateChanges
public final T calculateChanges(NodePair pair, JaversProperty property)
- Specified by:
calculateChanges
in interfacePropertyChangeAppender<T extends PropertyChange>
-
calculateChanges
protected abstract T calculateChanges(java.lang.Object leftValue, java.lang.Object rightValue, NodePair pair, JaversProperty property)
-
-