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.StringGENERIC_TYPE_NOT_PARAMETRIZEDJaVers 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 TcalculateChanges(java.lang.Object leftValue, java.lang.Object rightValue, NodePair pair, JaversProperty property)TcalculateChanges(NodePair pair, JaversProperty property)static voidrenderNotParametrizedWarningIfNeeded(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:
calculateChangesin interfacePropertyChangeAppender<T extends PropertyChange>
-
calculateChanges
protected abstract T calculateChanges(java.lang.Object leftValue, java.lang.Object rightValue, NodePair pair, JaversProperty property)
-
-