OptaPlanner distribution 6.2.1-SNAPSHOT

org.optaplanner.core.impl.domain.variable.inverserelation
Class SingletonInverseVariableListener

java.lang.Object
  extended by org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableListener
All Implemented Interfaces:
SingletonInverseVariableSupply, VariableListener<Object>, Supply

public class SingletonInverseVariableListener
extends Object
implements VariableListener<Object>, SingletonInverseVariableSupply


Field Summary
protected  InverseRelationShadowVariableDescriptor shadowVariableDescriptor
           
protected  VariableDescriptor sourceVariableDescriptor
           
 
Constructor Summary
SingletonInverseVariableListener(InverseRelationShadowVariableDescriptor shadowVariableDescriptor, VariableDescriptor sourceVariableDescriptor)
           
 
Method Summary
 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)
           
 Object getInverseSingleton(Object planningValue)
          If entity1.varA = x then the inverse of x is entity1.
protected  void insert(ScoreDirector scoreDirector, Object entity)
           
protected  void retract(ScoreDirector scoreDirector, Object entity)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shadowVariableDescriptor

protected final InverseRelationShadowVariableDescriptor shadowVariableDescriptor

sourceVariableDescriptor

protected final VariableDescriptor sourceVariableDescriptor
Constructor Detail

SingletonInverseVariableListener

public SingletonInverseVariableListener(InverseRelationShadowVariableDescriptor shadowVariableDescriptor,
                                        VariableDescriptor sourceVariableDescriptor)
Method Detail

beforeEntityAdded

public void beforeEntityAdded(ScoreDirector scoreDirector,
                              Object entity)
Specified by:
beforeEntityAdded in interface VariableListener<Object>

afterEntityAdded

public void afterEntityAdded(ScoreDirector scoreDirector,
                             Object entity)
Specified by:
afterEntityAdded in interface VariableListener<Object>

beforeVariableChanged

public void beforeVariableChanged(ScoreDirector scoreDirector,
                                  Object entity)
Specified by:
beforeVariableChanged in interface VariableListener<Object>

afterVariableChanged

public void afterVariableChanged(ScoreDirector scoreDirector,
                                 Object entity)
Specified by:
afterVariableChanged in interface VariableListener<Object>

beforeEntityRemoved

public void beforeEntityRemoved(ScoreDirector scoreDirector,
                                Object entity)
Specified by:
beforeEntityRemoved in interface VariableListener<Object>

afterEntityRemoved

public void afterEntityRemoved(ScoreDirector scoreDirector,
                               Object entity)
Specified by:
afterEntityRemoved in interface VariableListener<Object>

insert

protected void insert(ScoreDirector scoreDirector,
                      Object entity)

retract

protected void retract(ScoreDirector scoreDirector,
                       Object entity)

getInverseSingleton

public Object getInverseSingleton(Object planningValue)
Description copied from interface: SingletonInverseVariableSupply
If entity1.varA = x then the inverse of x is entity1.

Specified by:
getInverseSingleton in interface SingletonInverseVariableSupply
Parameters:
planningValue - never null
Returns:
sometimes null, an entity for which the planning variable is the planningValue.

OptaPlanner distribution 6.2.1-SNAPSHOT

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