Class AlphaNode
- java.lang.Object
- 
- jadex.rules.rulesystem.rete.nodes.AbstractNode
- 
- jadex.rules.rulesystem.rete.nodes.AlphaNode
 
 
- 
- All Implemented Interfaces:
- INode,- IObjectConsumerNode,- IObjectSourceNode,- java.lang.Cloneable
 - Direct Known Subclasses:
- TypeNode
 
 public class AlphaNode extends AbstractNode implements IObjectConsumerNode, IObjectSourceNode An alpha node is a 1-input -> 1-output node which propagates objects matching its constraints.
- 
- 
Field SummaryFields Modifier and Type Field Description protected IConstraintEvaluator[]evaluatorsThe constraint evaluator.protected AttributeSetindirectsThe set of indirect attributes.protected IObjectConsumerNode[]oconsumersThe object consumers.protected IObjectSourceNodeosourceThe object source.protected AttributeSetrelevantsThe set of relevant attributes.- 
Fields inherited from class jadex.rules.rulesystem.rete.nodes.AbstractNodeclones, nodeid
 
- 
 - 
Constructor SummaryConstructors Constructor Description AlphaNode(int nodeid, IConstraintEvaluator[] evaluators)Create a new node.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a new object to this node.voidaddObjectConsumer(IObjectConsumerNode node)Add an object consumer node.protected booleancheckConstraints(java.lang.Object right, IOAVState state)Check the constraints with respect to the object.java.lang.ObjectcreateNodeMemory(IOAVState state)Create the node memory.protected voiddoClone(java.lang.Object theclone)Do clone makes a deep clone without regarding cycles.IConstraintEvaluator[]getConstraintEvaluators()Get the constraint evaluators.AttributeSetgetIndirectAttributes()Get the set of indirect attribute types.java.util.CollectiongetNodeMemory(ReteMemory mem)Get the memory for this node.IObjectConsumerNode[]getObjectConsumers()Get all object consumer nodes.IObjectSourceNodegetObjectSource()Get the object source of this node.AttributeSetgetRelevantAttributes()Get the set of relevant attribute types.booleanisAffected(OAVAttributeType attr)Test if the node is affected from a modification.voidmodifyIndirectObject(java.lang.Object id, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate an indirect object change to this node.voidmodifyObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate an object change to this node.protected voidpropagateAdditionToObjectConsumers(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a new object to all object consumers.protected voidpropagateModificationToObjectConsumers(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a modified object to all object consumers.protected voidpropagateRemovalToObjectConsumers(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a removed object to all object consumers.voidremoveObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a removed object to this node.voidremoveObjectConsumer(IObjectConsumerNode node)Remove an object consumer.voidsetObjectSource(IObjectSourceNode node)Set the object source of this node.java.lang.StringtoString()Get the string representation.- 
Methods inherited from class jadex.rules.rulesystem.rete.nodes.AbstractNodecheckNodeConsistency, clone, equals, getNodeId, hashCode, toString
 - 
Methods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface jadex.rules.rulesystem.rete.nodes.INodecheckNodeConsistency, clone, getNodeId
 
- 
 
- 
- 
- 
Field Detail- 
osourceprotected IObjectSourceNode osource The object source.
 - 
oconsumersprotected IObjectConsumerNode[] oconsumers The object consumers.
 - 
evaluatorsprotected IConstraintEvaluator[] evaluators The constraint evaluator.
 - 
relevantsprotected volatile AttributeSet relevants The set of relevant attributes.
 - 
indirectsprotected volatile AttributeSet indirects The set of indirect attributes.
 
- 
 - 
Constructor Detail- 
AlphaNodepublic AlphaNode(int nodeid, IConstraintEvaluator[] evaluators)Create a new node.- Parameters:
- evaluators- The evaluators.
 
 
- 
 - 
Method Detail- 
addObjectpublic void addObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a new object to this node.- Specified by:
- addObjectin interface- IObjectConsumerNode
- Parameters:
- object- The object.
 
 - 
removeObjectpublic void removeObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a removed object to this node.- Specified by:
- removeObjectin interface- IObjectConsumerNode
- Parameters:
- object- The object.
 
 - 
modifyObjectpublic void modifyObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate an object change to this node.- Specified by:
- modifyObjectin interface- IObjectConsumerNode
- Parameters:
- object- The new object.
 
 - 
modifyIndirectObjectpublic void modifyIndirectObject(java.lang.Object id, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate an indirect object change to this node.- Specified by:
- modifyIndirectObjectin interface- INode
- Parameters:
- id- The changed object.
 
 - 
setObjectSourcepublic void setObjectSource(IObjectSourceNode node) Set the object source of this node.- Specified by:
- setObjectSourcein interface- IObjectConsumerNode
- Parameters:
- node- The object source node.
 
 - 
getObjectSourcepublic IObjectSourceNode getObjectSource() Get the object source of this node.- Specified by:
- getObjectSourcein interface- IObjectConsumerNode
- Returns:
- The object source node.
 
 - 
addObjectConsumerpublic void addObjectConsumer(IObjectConsumerNode node) Add an object consumer node.- Specified by:
- addObjectConsumerin interface- IObjectSourceNode
- Parameters:
- node- A new consumer node.
 
 - 
removeObjectConsumerpublic void removeObjectConsumer(IObjectConsumerNode node) Remove an object consumer.- Specified by:
- removeObjectConsumerin interface- IObjectSourceNode
- Parameters:
- node- The consumer node.
 
 - 
getNodeMemorypublic java.util.Collection getNodeMemory(ReteMemory mem) Get the memory for this node.- Specified by:
- getNodeMemoryin interface- INode
- Specified by:
- getNodeMemoryin interface- IObjectSourceNode
- Returns:
- The memory.
 
 - 
getObjectConsumerspublic IObjectConsumerNode[] getObjectConsumers() Get all object consumer nodes.- Specified by:
- getObjectConsumersin interface- IObjectSourceNode
- Returns:
- All object consumer nodes.
 
 - 
createNodeMemorypublic java.lang.Object createNodeMemory(IOAVState state) Create the node memory.- Specified by:
- createNodeMemoryin interface- INode
- Parameters:
- state- The state.
- Returns:
- The node memory.
 
 - 
propagateAdditionToObjectConsumersprotected void propagateAdditionToObjectConsumers(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a new object to all object consumers.- Parameters:
- object- The new object.
 
 - 
propagateRemovalToObjectConsumersprotected void propagateRemovalToObjectConsumers(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a removed object to all object consumers.- Parameters:
- object- The new object.
 
 - 
propagateModificationToObjectConsumersprotected void propagateModificationToObjectConsumers(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a modified object to all object consumers.- Parameters:
- object- The new object.
 
 - 
checkConstraintsprotected boolean checkConstraints(java.lang.Object right, IOAVState state)Check the constraints with respect to the object.- Returns:
- True, if object fits constraints.
 
 - 
isAffectedpublic boolean isAffected(OAVAttributeType attr) Test if the node is affected from a modification.- Parameters:
- type- The attribute type.
- Returns:
- True, if possibly affected.
 
 - 
getRelevantAttributespublic AttributeSet getRelevantAttributes() Get the set of relevant attribute types.- Specified by:
- getRelevantAttributesin interface- INode
 
 - 
getIndirectAttributespublic AttributeSet getIndirectAttributes() Get the set of indirect attribute types. I.e. attributes of objects, which are not part of an object conditions (e.g. for chained extractors)- Specified by:
- getIndirectAttributesin interface- INode
- Returns:
- The relevant attribute types.
 
 - 
toStringpublic java.lang.String toString() Get the string representation.- Overrides:
- toStringin class- AbstractNode
- Returns:
- The string representation.
 
 - 
getConstraintEvaluatorspublic IConstraintEvaluator[] getConstraintEvaluators() Get the constraint evaluators.
 - 
doCloneprotected void doClone(java.lang.Object theclone) Do clone makes a deep clone without regarding cycles. Method is overridden by subclasses to actually incorporate their attributes.- Specified by:
- doClonein class- AbstractNode
- Parameters:
- theclone- The clone.
 
 
- 
 
-