
jadex.rules.rulesystem.rete.nodes.ITupleConsumerNode Maven / Gradle / Ivy
package jadex.rules.rulesystem.rete.nodes;
import jadex.rules.rulesystem.AbstractAgenda;
import jadex.rules.rulesystem.rete.Tuple;
import jadex.rules.state.IOAVState;
import jadex.rules.state.OAVAttributeType;
/**
* A node that is able to consume tuples from a
* source node.
*/
public interface ITupleConsumerNode extends INode
{
/**
* Add a new tuple to this node.
* @param tuple The tuple.
*/
public void addTuple(Tuple tuple, IOAVState state, ReteMemory mem, AbstractAgenda agenda);
/**
* Remove a tuple from this node.
* @param tuple The tuple.
*/
public void removeTuple(Tuple tuple, IOAVState state, ReteMemory mem, AbstractAgenda agenda);
/**
* Modify a tuple in this node.
* @param tuple The tuple.
*/
public void modifyTuple(Tuple tuple, int tupleindex, OAVAttributeType type, Object oldvalue, Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda);
/**
* Set the tuple source of this node.
* @param node The tuple source node.
*/
public void setTupleSource(ITupleSourceNode node);
/**
* Get the tuple source of this node.
* @return The tuple source node.
*/
public ITupleSourceNode getTupleSource();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy