OptaPlanner core 6.0.0.CR2

org.optaplanner.core.impl.domain.solution.cloner
Class FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun

java.lang.Object
  extended by org.optaplanner.core.impl.domain.solution.cloner.FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
Enclosing class:
FieldAccessingSolutionCloner<SolutionG extends Solution>

protected class FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun
extends Object


Field Summary
protected  Map<Object,Object> originalToCloneMap
           
protected  Queue<FieldAccessingSolutionCloner.Unprocessed> unprocessedQueue
           
 
Constructor Summary
protected FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun()
           
 
Method Summary
protected
<C> C
clone(C original)
           
protected
<E> Collection<E>
cloneCollection(Class<?> expectedType, Collection<E> originalCollection)
           
protected
<K,V> Map<K,V>
cloneMap(Class<?> expectedType, Map<K,V> originalMap)
           
protected  SolutionG cloneSolution(SolutionG originalSolution)
           
protected
<C> C
constructClone(Class<C> clazz)
           
protected
<E> Collection<E>
constructCloneCollection(Collection<E> originalCollection)
           
protected
<K,V> Map<K,V>
constructCloneMap(Map<K,V> originalMap)
           
protected
<C> void
copyFields(Class<C> clazz, C original, C clone)
           
protected  Object getFieldValue(Object bean, Field field)
           
protected  boolean isDeepCloneField(Field field, Object originalValue)
           
protected  boolean isFieldAnEntityOrSolution(Field field)
           
protected  boolean isFieldAnEntityPropertyOnSolution(Field field)
           
protected  boolean isValueAnEntityOrSolution(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
 

Field Detail

originalToCloneMap

protected Map<Object,Object> originalToCloneMap

unprocessedQueue

protected Queue<FieldAccessingSolutionCloner.Unprocessed> unprocessedQueue
Constructor Detail

FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun

protected FieldAccessingSolutionCloner.FieldAccessingSolutionClonerRun()
Method Detail

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)

isFieldAnEntityOrSolution

protected boolean isFieldAnEntityOrSolution(Field field)

isValueAnEntityOrSolution

protected boolean isValueAnEntityOrSolution(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 null
cloneSolution - never null

getFieldValue

protected Object getFieldValue(Object bean,
                               Field field)

setFieldValue

protected void setFieldValue(Object bean,
                             Field field,
                             Object value)

OptaPlanner core 6.0.0.CR2

Copyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.