Class ExternalizedCollectionInverseVariableSupply
- java.lang.Object
-
- org.optaplanner.core.impl.domain.variable.inverserelation.ExternalizedCollectionInverseVariableSupply
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,VariableListener<Object>
,CollectionInverseVariableSupply
,SourcedVariableListener<Object>
,StatefulVariableListener<Object>
,VariableListener<Object>
,Supply
public class ExternalizedCollectionInverseVariableSupply extends Object implements SourcedVariableListener<Object>, CollectionInverseVariableSupply
Alternative toCollectionInverseVariableListener
.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<Object,Set<Object>>
inverseEntitySetMap
protected VariableDescriptor
sourceVariableDescriptor
-
Constructor Summary
Constructors Constructor Description ExternalizedCollectionInverseVariableSupply(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)
Collection<?>
getInverseCollection(Object value)
If entity1.varA = x then an 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
-
ExternalizedCollectionInverseVariableSupply
public ExternalizedCollectionInverseVariableSupply(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)
-
getInverseCollection
public Collection<?> getInverseCollection(Object value)
Description copied from interface:CollectionInverseVariableSupply
If entity1.varA = x then an inverse of x is entity1.- Specified by:
getInverseCollection
in interfaceCollectionInverseVariableSupply
- Parameters:
value
- never null- Returns:
- never null, a
Collection
of entities for which the planning variable is the planningValue.
-
-