org.drools.planner.core.domain.solution.cloner
Class FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
java.lang.Object
org.drools.planner.core.domain.solution.cloner.FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
- Enclosing class:
- FieldAccessingSolutionCloner<SolutionG extends Solution>
protected class FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
- extends Object
Method Summary |
protected
|
clone(C original)
|
protected
|
cloneCollection(Class<?> expectedType,
Collection<E> originalCollection)
|
protected
|
cloneMap(Class<?> expectedType,
Map<K,V> originalMap)
|
protected SolutionG |
cloneSolution(SolutionG originalSolution)
|
protected
|
constructClone(Class<C> clazz)
|
protected
|
constructCloneCollection(Collection<E> originalCollection)
|
protected
|
constructCloneMap(Map<K,V> originalMap)
|
protected
|
copyFields(Class<C> clazz,
C original,
C clone)
|
protected Object |
getFieldValue(Object bean,
Field field)
|
protected boolean |
isDeepCloneField(Field field,
Object originalValue)
|
protected boolean |
isFieldAnEntityPropertyOnSolution(Field field)
|
protected boolean |
isValueAnEntity(Object originalValue)
|
protected void |
process(FieldAccessingSolutionCloner.Unprocessed unprocessed)
|
protected void |
processQueue()
|
protected void |
setFieldValue(Object bean,
Field field,
Object value)
|
protected void |
validateCloneSolution(SolutionG originalSolution,
SolutionG cloneSolution)
Fails fast if isFieldAnEntityPropertyOnSolution(java.lang.reflect.Field) assumptions were wrong. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
originalToCloneMap
protected Map<Object,Object> originalToCloneMap
unprocessedQueue
protected Queue<FieldAccessingSolutionCloner.Unprocessed> unprocessedQueue
FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
protected FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun()
cloneSolution
protected SolutionG cloneSolution(SolutionG originalSolution)
clone
protected <C> C clone(C original)
constructClone
protected <C> C constructClone(Class<C> clazz)
copyFields
protected <C> void copyFields(Class<C> clazz,
C original,
C clone)
isDeepCloneField
protected boolean isDeepCloneField(Field field,
Object originalValue)
isFieldAnEntityPropertyOnSolution
protected boolean isFieldAnEntityPropertyOnSolution(Field field)
isValueAnEntity
protected boolean isValueAnEntity(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)
cloneMap
protected <K,V> Map<K,V> cloneMap(Class<?> expectedType,
Map<K,V> originalMap)
constructCloneMap
protected <K,V> Map<K,V> constructCloneMap(Map<K,V> originalMap)
validateCloneSolution
protected void validateCloneSolution(SolutionG originalSolution,
SolutionG cloneSolution)
- Fails fast if
isFieldAnEntityPropertyOnSolution(java.lang.reflect.Field)
assumptions were wrong.
- Parameters:
originalSolution
- never nullcloneSolution
- never null
getFieldValue
protected Object getFieldValue(Object bean,
Field field)
setFieldValue
protected void setFieldValue(Object bean,
Field field,
Object value)
Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.