Class ExternalizedSingletonInverseVariableSupply<Solution_>
- java.lang.Object
 - 
- org.optaplanner.core.impl.domain.variable.inverserelation.ExternalizedSingletonInverseVariableSupply<Solution_>
 
 
- 
- All Implemented Interfaces:
 Closeable,AutoCloseable,VariableListener<Solution_,Object>,SingletonInverseVariableSupply,SourcedVariableListener<Solution_,Object>,Supply
public class ExternalizedSingletonInverseVariableSupply<Solution_> extends Object implements SourcedVariableListener<Solution_,Object>, SingletonInverseVariableSupply
Alternative toSingletonInverseVariableListener. 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected Map<Object,Object>inverseEntityMapprotected VariableDescriptor<Solution_>sourceVariableDescriptor 
- 
Constructor Summary
Constructors Constructor Description ExternalizedSingletonInverseVariableSupply(VariableDescriptor<Solution_> sourceVariableDescriptor) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterEntityAdded(ScoreDirector<Solution_> scoreDirector, Object entity)voidafterEntityRemoved(ScoreDirector<Solution_> scoreDirector, Object entity)voidafterVariableChanged(ScoreDirector<Solution_> scoreDirector, Object entity)voidbeforeEntityAdded(ScoreDirector<Solution_> scoreDirector, Object entity)voidbeforeEntityRemoved(ScoreDirector<Solution_> scoreDirector, Object entity)voidbeforeVariableChanged(ScoreDirector<Solution_> scoreDirector, Object entity)voidclose()Called before thisVariableListeneris thrown away and not used anymore.ObjectgetInverseSingleton(Object value)If entity1.varA = x then the inverse of x is entity1.VariableDescriptor<Solution_>getSourceVariableDescriptor()protected voidinsert(Object entity)voidresetWorkingSolution(ScoreDirector<Solution_> scoreDirector)Called when the entire working solution changes.protected voidretract(Object entity)StringtoString()- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait 
- 
Methods inherited from interface org.optaplanner.core.api.domain.variable.VariableListener
requiresUniqueEntityEvents 
 - 
 
 - 
 
- 
- 
Field Detail
- 
sourceVariableDescriptor
protected final VariableDescriptor<Solution_> sourceVariableDescriptor
 
 - 
 
- 
Constructor Detail
- 
ExternalizedSingletonInverseVariableSupply
public ExternalizedSingletonInverseVariableSupply(VariableDescriptor<Solution_> sourceVariableDescriptor)
 
 - 
 
- 
Method Detail
- 
getSourceVariableDescriptor
public VariableDescriptor<Solution_> getSourceVariableDescriptor()
- Specified by:
 getSourceVariableDescriptorin interfaceSourcedVariableListener<Solution_,Object>
 
- 
resetWorkingSolution
public void resetWorkingSolution(ScoreDirector<Solution_> scoreDirector)
Description copied from interface:VariableListenerCalled when the entire working solution changes. In this event, the other before..()/after...() methods will not be called. At this point, implementations should clear state, if any.- Specified by:
 resetWorkingSolutionin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never null
 
- 
close
public void close()
Description copied from interface:VariableListenerCalled before thisVariableListeneris thrown away and not used anymore.- Specified by:
 closein interfaceAutoCloseable- Specified by:
 closein interfaceCloseable- Specified by:
 closein interfaceVariableListener<Solution_,Object>
 
- 
beforeEntityAdded
public void beforeEntityAdded(ScoreDirector<Solution_> scoreDirector, Object entity)
- Specified by:
 beforeEntityAddedin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never nullentity- never null
 
- 
afterEntityAdded
public void afterEntityAdded(ScoreDirector<Solution_> scoreDirector, Object entity)
- Specified by:
 afterEntityAddedin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never nullentity- never null
 
- 
beforeVariableChanged
public void beforeVariableChanged(ScoreDirector<Solution_> scoreDirector, Object entity)
- Specified by:
 beforeVariableChangedin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never nullentity- never null
 
- 
afterVariableChanged
public void afterVariableChanged(ScoreDirector<Solution_> scoreDirector, Object entity)
- Specified by:
 afterVariableChangedin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never nullentity- never null
 
- 
beforeEntityRemoved
public void beforeEntityRemoved(ScoreDirector<Solution_> scoreDirector, Object entity)
- Specified by:
 beforeEntityRemovedin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never nullentity- never null
 
- 
afterEntityRemoved
public void afterEntityRemoved(ScoreDirector<Solution_> scoreDirector, Object entity)
- Specified by:
 afterEntityRemovedin interfaceVariableListener<Solution_,Object>- Parameters:
 scoreDirector- never nullentity- never null
 
- 
insert
protected void insert(Object entity)
 
- 
retract
protected void retract(Object entity)
 
- 
getInverseSingleton
public Object getInverseSingleton(Object value)
Description copied from interface:SingletonInverseVariableSupplyIf entity1.varA = x then the inverse of x is entity1.- Specified by:
 getInverseSingletonin interfaceSingletonInverseVariableSupply- Parameters:
 value- never null- Returns:
 - sometimes null, an entity for which the planning variable is the planningValue.
 
 
 - 
 
 -