Class FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
- java.lang.Object
 - 
- org.optaplanner.core.impl.domain.solution.cloner.FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
 
 
- 
- Enclosing class:
 - FieldAccessingSolutionCloner<Solution_>
 
protected class FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun extends Object
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected Map<Object,Object>originalToCloneMapprotected Queue<FieldAccessingSolutionCloner.Unprocessed>unprocessedQueue 
- 
Constructor Summary
Constructors Modifier Constructor Description protectedFieldAccessingSolutionClonerRun() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <C> Cclone(C original)protected ObjectcloneArray(Class<?> expectedType, Object originalArray)protected <E> Collection<E>cloneCollection(Class<?> expectedType, Collection<E> originalCollection)protected <C> CcloneCollectionsElementIfNeeded(C original)protected <K,V>
Map<K,V>cloneMap(Class<?> expectedType, Map<K,V> originalMap)protected Solution_cloneSolution(Solution_ originalSolution)protected <C> CconstructClone(Class<C> clazz)protected <E> Collection<E>constructCloneCollection(Collection<E> originalCollection)protected <K,V>
Map<K,V>constructCloneMap(Map<K,V> originalMap)protected <C> voidcopyFields(Class<C> clazz, Class<? extends C> instanceClass, C original, C clone)protected ObjectgetFieldValue(Object bean, Field field)protected booleanisDeepCloneField(Field field, Class<?> fieldInstanceClass, Object originalValue)protected voidprocess(FieldAccessingSolutionCloner.Unprocessed unprocessed)protected voidprocessQueue()protected voidsetFieldValue(Object bean, Field field, Object value)protected voidvalidateCloneSolution(Solution_ originalSolution, Solution_ cloneSolution)Fails fast ifFieldAccessingSolutionCloner.isFieldAnEntityPropertyOnSolution(java.lang.reflect.Field, java.lang.Class<?>)assumptions were wrong. 
 - 
 
- 
- 
Field Detail
- 
unprocessedQueue
protected Queue<FieldAccessingSolutionCloner.Unprocessed> unprocessedQueue
 
 - 
 
- 
Method Detail
- 
clone
protected <C> C clone(C original)
 
- 
constructClone
protected <C> C constructClone(Class<C> clazz)
 
- 
copyFields
protected <C> void copyFields(Class<C> clazz, Class<? extends C> instanceClass, C original, C clone)
 
- 
isDeepCloneField
protected boolean isDeepCloneField(Field field, Class<?> fieldInstanceClass, Object originalValue)
 
- 
processQueue
protected void processQueue()
 
- 
process
protected void process(FieldAccessingSolutionCloner.Unprocessed unprocessed)
 
- 
cloneCollection
protected <E> Collection<E> cloneCollection(Class<?> expectedType, Collection<E> originalCollection)
 
- 
constructCloneCollection
protected <E> Collection<E> constructCloneCollection(Collection<E> originalCollection)
 
- 
cloneCollectionsElementIfNeeded
protected <C> C cloneCollectionsElementIfNeeded(C original)
 
- 
validateCloneSolution
protected void validateCloneSolution(Solution_ originalSolution, Solution_ cloneSolution)
Fails fast ifFieldAccessingSolutionCloner.isFieldAnEntityPropertyOnSolution(java.lang.reflect.Field, java.lang.Class<?>)assumptions were wrong.- Parameters:
 originalSolution- never nullcloneSolution- never null
 
 - 
 
 -