public class LeftInputAdapterNode extends AbstractNode implements IObjectConsumerNode, ITupleSourceNode
Modifier and Type | Field and Description |
---|---|
protected IObjectSourceNode |
osource
The object source.
|
protected AttributeSet |
relevants
The set of relevant attributes.
|
protected ITupleConsumerNode[] |
tconsumers
The tuple consumers.
|
clones, nodeid
Constructor and Description |
---|
LeftInputAdapterNode(int nodeid)
Create a new node.
|
Modifier and Type | Method and Description |
---|---|
void |
addObject(java.lang.Object object,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Send an object to this node.
|
void |
addTupleConsumer(ITupleConsumerNode node)
Add an tuple consumer node.
|
java.lang.Object |
clone()
Clone this object.
|
java.lang.Object |
createNodeMemory(IOAVState state)
Create the node memory.
|
protected void |
doClone(java.lang.Object theclone)
Do clone makes a deep clone without regarding cycles.
|
AttributeSet |
getIndirectAttributes()
Get the set of indirect attribute types.
|
java.util.Collection |
getNodeMemory(ReteMemory mem)
Get the memory for this node.
|
IObjectSourceNode |
getObjectSource()
Get the object source of this node.
|
AttributeSet |
getRelevantAttributes()
Get the set of relevant attribute types.
|
ITupleConsumerNode[] |
getTupleConsumers()
Get all tuple consumer nodes.
|
void |
modifyIndirectObject(java.lang.Object object,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Propagate an indirect object change to this node.
|
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.
|
void |
removeObject(java.lang.Object object,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Send a removed object to this node.
|
void |
removeTupleConsumer(ITupleConsumerNode node)
Remove an tuple consumer.
|
void |
setObjectSource(IObjectSourceNode node)
Set the object source of this node.
|
checkNodeConsistency, equals, getNodeId, hashCode, toString, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
checkNodeConsistency, getNodeId
protected ITupleConsumerNode[] tconsumers
protected IObjectSourceNode osource
protected volatile AttributeSet relevants
public void addObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
addObject
in interface IObjectConsumerNode
object
- The object.public void removeObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
removeObject
in interface IObjectConsumerNode
object
- The object.public void modifyObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
modifyObject
in interface IObjectConsumerNode
object
- The new object.public void modifyIndirectObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
modifyIndirectObject
in interface INode
object
- The changed object.public void setObjectSource(IObjectSourceNode node)
setObjectSource
in interface IObjectConsumerNode
node
- The object source node.public IObjectSourceNode getObjectSource()
getObjectSource
in interface IObjectConsumerNode
public void addTupleConsumer(ITupleConsumerNode node)
addTupleConsumer
in interface ITupleSourceNode
node
- A new consumer node.public void removeTupleConsumer(ITupleConsumerNode node)
removeTupleConsumer
in interface ITupleSourceNode
node
- The consumer node.public ITupleConsumerNode[] getTupleConsumers()
getTupleConsumers
in interface ITupleSourceNode
public java.util.Collection getNodeMemory(ReteMemory mem)
getNodeMemory
in interface INode
getNodeMemory
in interface ITupleSourceNode
public java.lang.Object createNodeMemory(IOAVState state)
createNodeMemory
in interface INode
state
- The state.public AttributeSet getRelevantAttributes()
getRelevantAttributes
in interface INode
public AttributeSet getIndirectAttributes()
getIndirectAttributes
in interface INode
public java.lang.Object clone()
clone
in interface INode
clone
in class AbstractNode
protected void doClone(java.lang.Object theclone)
doClone
in class AbstractNode
theclone
- The clone.