public abstract class ChainBBAdapter extends BeliefBase
BeliefBase bb = new MyBB1( new MyBB2()); // DefaultBeliefBase is the next of the last element of the chainwill chain 3 BBs: MyBB1, myBB2, and the DefaultBeliefBase. So, for any operation of the BB interface, the operation is firstly called in MyBB1, then in MyBB2 and finally in the DefaultBeliefBase. The code of MyBB1 looks like:
class MyBB1 extends ChainBBAdapter { public MyBB1() { } public MyBB1(BeliefBase next) { super(next); } public boolean add(Literal l) { ... some customisation of add .... return next.add(l); // delegate the operation for the next BB in the chain } ... customisation of other operations ... }
Modifier and Type | Field and Description |
---|---|
protected BeliefBase |
nextBB |
Constructor and Description |
---|
ChainBBAdapter() |
ChainBBAdapter(BeliefBase bb) |
Modifier and Type | Method and Description |
---|---|
boolean |
abolish(PredicateIndicator pi)
Removes all believes with some functor/arity in the default namespace
|
boolean |
add(int index,
Literal l)
Adds a belief in the BB at index position, returns true if succeed
|
boolean |
add(Literal l)
Adds a belief in the end of the BB, returns true if succeed.
|
void |
clear()
removes all beliefs from BB
|
BeliefBase |
clone() |
Literal |
contains(Literal l)
Returns the literal l as it is in BB, this method does not
consider annotations in the search.
|
org.w3c.dom.Element |
getAsDOM(org.w3c.dom.Document document)
Gets the BB as XML
|
java.util.Iterator<Literal> |
getCandidateBeliefs(Literal l,
Unifier u)
Returns an iterator for all literals relevant for l's predicate
indicator, if l is a var, returns all beliefs.
The unifier u may contain values for variables in l. |
java.util.Iterator<Literal> |
getCandidateBeliefs(PredicateIndicator pi)
Returns an iterator for all literals in the default namespace of the BB that match the functor/arity
of the parameter.
|
BeliefBase |
getLastBB() |
java.util.Set<Atom> |
getNameSpaces() |
ChainBBAdapter |
getNextAdapter() |
java.util.Iterator<Literal> |
getPercepts()
Returns all beliefs that have "percept" as source
|
void |
init(Agent ag,
java.lang.String[] args)
Called before the MAS execution with the agent that uses this
BB and the args informed in .mas2j project.
Example in .mas2j: agent BeliefBaseClass(1,bla); the init args will be ["1", "bla"]. |
java.util.Iterator<Literal> |
iterator()
Returns an iterator for all beliefs.
|
boolean |
remove(Literal l)
Removes a literal from BB, returns true if succeed
|
void |
setNext(BeliefBase bb) |
int |
size()
Returns the number of beliefs in BB
|
void |
stop()
Called just before the end of MAS execution
|
java.lang.String |
toString() |
abolish, getLock
protected BeliefBase nextBB
public ChainBBAdapter()
public ChainBBAdapter(BeliefBase bb)
public void setNext(BeliefBase bb)
public ChainBBAdapter getNextAdapter()
public BeliefBase getLastBB()
public void init(Agent ag, java.lang.String[] args)
BeliefBase
agent BeliefBaseClass(1,bla);
init
in class BeliefBase
public void stop()
BeliefBase
stop
in class BeliefBase
public void clear()
BeliefBase
clear
in class BeliefBase
public java.util.Set<Atom> getNameSpaces()
getNameSpaces
in class BeliefBase
public boolean add(Literal l)
BeliefBase
add
in class BeliefBase
public boolean add(int index, Literal l)
BeliefBase
add
in class BeliefBase
public Literal contains(Literal l)
BeliefBase
contains(a(10)[d])
returns
a(10)[a,b].contains
in class BeliefBase
public java.util.Iterator<Literal> iterator()
BeliefBase
iterator
in interface java.lang.Iterable<Literal>
iterator
in class BeliefBase
public java.util.Iterator<Literal> getCandidateBeliefs(PredicateIndicator pi)
BeliefBase
getCandidateBeliefs
in class BeliefBase
public java.util.Iterator<Literal> getCandidateBeliefs(Literal l, Unifier u)
BeliefBase
getCandidateBeliefs(a(5), {})
= {{a(10),a(20)}.getCandidateBeliefs(X)
=
{{a(10),a(20)}. The getCandidateBeliefs(a(X), {X -> 5})
should also return {{a(10),a(20)}.getCandidateBeliefs
in class BeliefBase
public java.util.Iterator<Literal> getPercepts()
BeliefBase
getPercepts
in class BeliefBase
public boolean abolish(PredicateIndicator pi)
BeliefBase
abolish
in class BeliefBase
public boolean remove(Literal l)
BeliefBase
remove
in class BeliefBase
public int size()
BeliefBase
size
in class BeliefBase
public org.w3c.dom.Element getAsDOM(org.w3c.dom.Document document)
BeliefBase
getAsDOM
in class BeliefBase
public BeliefBase clone()
clone
in class BeliefBase
public java.lang.String toString()
toString
in class java.lang.Object