Class DeepCloningUtils
java.lang.Object
org.optaplanner.core.impl.domain.solution.cloner.DeepCloningUtils
- 
Method SummaryModifier and TypeMethodDescriptionstatic booleanisClassDeepCloned(SolutionDescriptor<?> solutionDescriptor, Class<?> type) static booleanisDeepCloned(SolutionDescriptor<?> solutionDescriptor, Field field, Class<?> owningClass, Class<?> actualValueClass) Gets the deep cloning decision for a particular value assigned to a field, memoizing the result.static booleanisFieldDeepCloned(SolutionDescriptor<?> solutionDescriptor, Field field, Class<?> owningClass) Gets the deep cloning decision for a field.
- 
Method Details- 
isDeepClonedpublic static boolean isDeepCloned(SolutionDescriptor<?> solutionDescriptor, Field field, Class<?> owningClass, Class<?> actualValueClass) Gets the deep cloning decision for a particular value assigned to a field, memoizing the result.- Parameters:
- field- the field to get the deep cloning decision of
- owningClass- the class that owns the field; can be different from the field's declaring class (ex: subclass)
- actualValueClass- the class of the value that is currently assigned to the field; can be different from the field type (ex: for the field "List myList", the actual value class might be ArrayList).
- Returns:
- true iff the field should be deep cloned with a particular value.
 
- 
isFieldDeepClonedpublic static boolean isFieldDeepCloned(SolutionDescriptor<?> solutionDescriptor, Field field, Class<?> owningClass) Gets the deep cloning decision for a field.- Parameters:
- field- The field to get the deep cloning decision of
- owningClass- The class that owns the field; can be different from the field's declaring class (ex: subclass).
- Returns:
- True iff the field should always be deep cloned (regardless of value).
 
- 
isClassDeepCloned
 
-