Class ExternalizedSingletonInverseVariableSupply
- java.lang.Object
-
- org.optaplanner.core.impl.domain.variable.inverserelation.ExternalizedSingletonInverseVariableSupply
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,VariableListener<Object>
,SingletonInverseVariableSupply
,SourcedVariableListener<Object>
,StatefulVariableListener<Object>
,VariableListener<Object>
,Supply
public class ExternalizedSingletonInverseVariableSupply extends Object implements SourcedVariableListener<Object>, SingletonInverseVariableSupply
Alternative toSingletonInverseVariableListener
.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<Object,Object>
inverseEntityMap
protected VariableDescriptor
sourceVariableDescriptor
-
Constructor Summary
Constructors Constructor Description ExternalizedSingletonInverseVariableSupply(VariableDescriptor sourceVariableDescriptor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterEntityAdded(ScoreDirector scoreDirector, Object entity)
void
afterEntityRemoved(ScoreDirector scoreDirector, Object entity)
void
afterVariableChanged(ScoreDirector scoreDirector, Object entity)
void
beforeEntityAdded(ScoreDirector scoreDirector, Object entity)
void
beforeEntityRemoved(ScoreDirector scoreDirector, Object entity)
void
beforeVariableChanged(ScoreDirector scoreDirector, Object entity)
void
clearWorkingSolution(ScoreDirector scoreDirector)
Object
getInverseSingleton(Object value)
If entity1.varA = x then the inverse of x is entity1.VariableDescriptor
getSourceVariableDescriptor()
protected void
insert(ScoreDirector scoreDirector, Object entity)
void
resetWorkingSolution(ScoreDirector scoreDirector)
Called when the entire working solution changes.protected void
retract(ScoreDirector scoreDirector, Object entity)
String
toString()
-
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
close
-
Methods inherited from interface org.optaplanner.core.impl.domain.variable.listener.VariableListener
requiresUniqueEntityEvents
-
-
-
-
Field Detail
-
sourceVariableDescriptor
protected final VariableDescriptor sourceVariableDescriptor
-
-
Constructor Detail
-
ExternalizedSingletonInverseVariableSupply
public ExternalizedSingletonInverseVariableSupply(VariableDescriptor sourceVariableDescriptor)
-
-
Method Detail
-
getSourceVariableDescriptor
public VariableDescriptor getSourceVariableDescriptor()
- Specified by:
getSourceVariableDescriptor
in interfaceSourcedVariableListener<Object>
- Specified by:
getSourceVariableDescriptor
in interfaceStatefulVariableListener<Object>
-
resetWorkingSolution
public void resetWorkingSolution(ScoreDirector scoreDirector)
Description copied from interface:VariableListener
Called 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:
resetWorkingSolution
in interfaceStatefulVariableListener<Object>
- Specified by:
resetWorkingSolution
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never null
-
clearWorkingSolution
public void clearWorkingSolution(ScoreDirector scoreDirector)
- Specified by:
clearWorkingSolution
in interfaceStatefulVariableListener<Object>
-
beforeEntityAdded
public void beforeEntityAdded(ScoreDirector scoreDirector, Object entity)
- Specified by:
beforeEntityAdded
in interfaceVariableListener<Object>
- Specified by:
beforeEntityAdded
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never nullentity
- never null
-
afterEntityAdded
public void afterEntityAdded(ScoreDirector scoreDirector, Object entity)
- Specified by:
afterEntityAdded
in interfaceVariableListener<Object>
- Specified by:
afterEntityAdded
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never nullentity
- never null
-
beforeVariableChanged
public void beforeVariableChanged(ScoreDirector scoreDirector, Object entity)
- Specified by:
beforeVariableChanged
in interfaceVariableListener<Object>
- Specified by:
beforeVariableChanged
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never nullentity
- never null
-
afterVariableChanged
public void afterVariableChanged(ScoreDirector scoreDirector, Object entity)
- Specified by:
afterVariableChanged
in interfaceVariableListener<Object>
- Specified by:
afterVariableChanged
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never nullentity
- never null
-
beforeEntityRemoved
public void beforeEntityRemoved(ScoreDirector scoreDirector, Object entity)
- Specified by:
beforeEntityRemoved
in interfaceVariableListener<Object>
- Specified by:
beforeEntityRemoved
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never nullentity
- never null
-
afterEntityRemoved
public void afterEntityRemoved(ScoreDirector scoreDirector, Object entity)
- Specified by:
afterEntityRemoved
in interfaceVariableListener<Object>
- Specified by:
afterEntityRemoved
in interfaceVariableListener<Object>
- Parameters:
scoreDirector
- never nullentity
- never null
-
insert
protected void insert(ScoreDirector scoreDirector, Object entity)
-
retract
protected void retract(ScoreDirector scoreDirector, Object entity)
-
getInverseSingleton
public Object getInverseSingleton(Object value)
Description copied from interface:SingletonInverseVariableSupply
If entity1.varA = x then the inverse of x is entity1.- Specified by:
getInverseSingleton
in interfaceSingletonInverseVariableSupply
- Parameters:
value
- never null- Returns:
- sometimes null, an entity for which the planning variable is the planningValue.
-
-