Class CollectionInverseVariableListener<Solution_>
java.lang.Object
org.optaplanner.core.impl.domain.variable.inverserelation.CollectionInverseVariableListener<Solution_>
- All Implemented Interfaces:
Closeable
,AutoCloseable
,AbstractVariableListener<Solution_,
,Object> VariableListener<Solution_,
,Object> CollectionInverseVariableSupply
,Supply
public class CollectionInverseVariableListener<Solution_>
extends Object
implements VariableListener<Solution_,Object>, CollectionInverseVariableSupply
-
Field Summary
Modifier and TypeFieldDescriptionprotected final InverseRelationShadowVariableDescriptor<Solution_>
protected final VariableDescriptor<Solution_>
-
Constructor Summary
ConstructorDescriptionCollectionInverseVariableListener
(InverseRelationShadowVariableDescriptor<Solution_> shadowVariableDescriptor, VariableDescriptor<Solution_> sourceVariableDescriptor) -
Method Summary
Modifier and TypeMethodDescriptionvoid
afterEntityAdded
(ScoreDirector<Solution_> scoreDirector, Object entity) void
afterEntityRemoved
(ScoreDirector<Solution_> scoreDirector, Object entity) void
afterVariableChanged
(ScoreDirector<Solution_> scoreDirector, Object entity) void
beforeEntityAdded
(ScoreDirector<Solution_> scoreDirector, Object entity) void
beforeEntityRemoved
(ScoreDirector<Solution_> scoreDirector, Object entity) void
beforeVariableChanged
(ScoreDirector<Solution_> scoreDirector, Object entity) Collection<?>
getInverseCollection
(Object planningValue) If entity1.varA = x then an inverse of x is entity1.protected void
insert
(InnerScoreDirector<Solution_, ?> scoreDirector, Object entity) protected void
retract
(InnerScoreDirector<Solution_, ?> scoreDirector, Object entity) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.optaplanner.core.api.domain.variable.AbstractVariableListener
close, resetWorkingSolution
Methods inherited from interface org.optaplanner.core.api.domain.variable.VariableListener
requiresUniqueEntityEvents
-
Field Details
-
shadowVariableDescriptor
-
sourceVariableDescriptor
-
-
Constructor Details
-
CollectionInverseVariableListener
public CollectionInverseVariableListener(InverseRelationShadowVariableDescriptor<Solution_> shadowVariableDescriptor, VariableDescriptor<Solution_> sourceVariableDescriptor)
-
-
Method Details
-
beforeEntityAdded
- Specified by:
beforeEntityAdded
in interfaceAbstractVariableListener<Solution_,
Object> - Parameters:
scoreDirector
- never nullentity
- never null
-
afterEntityAdded
- Specified by:
afterEntityAdded
in interfaceAbstractVariableListener<Solution_,
Object> - Parameters:
scoreDirector
- never nullentity
- never null
-
beforeVariableChanged
- Specified by:
beforeVariableChanged
in interfaceVariableListener<Solution_,
Object> - Parameters:
scoreDirector
- never nullentity
- never null
-
afterVariableChanged
- Specified by:
afterVariableChanged
in interfaceVariableListener<Solution_,
Object> - Parameters:
scoreDirector
- never nullentity
- never null
-
beforeEntityRemoved
- Specified by:
beforeEntityRemoved
in interfaceAbstractVariableListener<Solution_,
Object> - Parameters:
scoreDirector
- never nullentity
- never null
-
afterEntityRemoved
- Specified by:
afterEntityRemoved
in interfaceAbstractVariableListener<Solution_,
Object> - Parameters:
scoreDirector
- never nullentity
- never null
-
insert
-
retract
-
getInverseCollection
Description copied from interface:CollectionInverseVariableSupply
If entity1.varA = x then an inverse of x is entity1.- Specified by:
getInverseCollection
in interfaceCollectionInverseVariableSupply
- Parameters:
planningValue
- never null- Returns:
- never null, a
Collection
of entities for which the planning variable is the planningValue.
-