Package jason.bb
Class ChainBBAdapter
java.lang.Object
jason.bb.BeliefBase
jason.bb.ChainBBAdapter
- Direct Known Subclasses:
ChainBB,IndexedBB,JDBCPersistentBB,TextPersistentBB
This class is to be extended by customised belief bases that may be
used in chains (of responsibility).
For example, the code
BeliefBase bb =
new MyBB1(
new MyBB2());
// DefaultBeliefBase is the next of the last element of the chain
will 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 ...
}
-
Field Summary
FieldsFields inherited from class jason.bb.BeliefBase
APercept, ASelf, TPercept, TSelf -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanRemoves all believes with some functor/arity in the default namespacebooleanAdds a belief in the BB at index position, returns true if succeedbooleanAdds a belief in the end of the BB, returns true if succeed.voidclear()removes all beliefs from BBclone()Returns the literal l as it is in BB, this method does not consider annotations in the search.Gets the BB as XMLReturns 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.Returns an iterator for all literals in the default namespace of the BB that match the functor/arity of the parameter.Returns all beliefs that have "percept" as sourcevoidCalled 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"].iterator()Returns an iterator for all beliefs.booleanRemoves a literal from BB, returns true if succeedvoidsetNext(BeliefBase bb) intsize()Returns the number of beliefs in BBvoidstop()Called just before the end of MAS executiontoString()Methods inherited from class jason.bb.BeliefBase
abolish, getLock, getNameSpaceProp, getNameSpaceProps, setNameSpacePropMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
nextBB
-
-
Constructor Details
-
ChainBBAdapter
public ChainBBAdapter() -
ChainBBAdapter
-
-
Method Details
-
setNext
-
getNextAdapter
-
getLastBB
-
init
Description copied from class:BeliefBaseCalled 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"].- Overrides:
initin classBeliefBase
-
stop
public void stop()Description copied from class:BeliefBaseCalled just before the end of MAS execution- Overrides:
stopin classBeliefBase
-
clear
public void clear()Description copied from class:BeliefBaseremoves all beliefs from BB- Overrides:
clearin classBeliefBase
-
getNameSpaces
- Overrides:
getNameSpacesin classBeliefBase
-
add
Description copied from class:BeliefBaseAdds a belief in the end of the BB, returns true if succeed. The annots of l may be changed to reflect what was changed in the BB, for example, if l is p[a,b] in a BB with p[a], l will be changed to p[b] to produce the event +p[b], since only the annotation b is changed in the BB.- Overrides:
addin classBeliefBase- Throws:
JasonException
-
add
Description copied from class:BeliefBaseAdds a belief in the BB at index position, returns true if succeed- Overrides:
addin classBeliefBase- Throws:
JasonException
-
contains
Description copied from class:BeliefBaseReturns the literal l as it is in BB, this method does not consider annotations in the search.
Example, if BB={a(10)[a,b]},contains(a(10)[d])returns a(10)[a,b].- Overrides:
containsin classBeliefBase
-
iterator
Description copied from class:BeliefBaseReturns an iterator for all beliefs.- Specified by:
iteratorin interfaceIterable<Literal>- Specified by:
iteratorin classBeliefBase
-
getCandidateBeliefs
Description copied from class:BeliefBaseReturns an iterator for all literals in the default namespace of the BB that match the functor/arity of the parameter.- Specified by:
getCandidateBeliefsin classBeliefBase
-
getCandidateBeliefs
Description copied from class:BeliefBaseReturns 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. Example, if BB={a(10),a(20),a(2,1),b(f)}, thengetCandidateBeliefs(a(5), {})= {{a(10),a(20)}.
if BB={a(10),a(20)}, thengetCandidateBeliefs(X)= {{a(10),a(20)}. ThegetCandidateBeliefs(a(X), {X -> 5})should also return {{a(10),a(20)}.- Overrides:
getCandidateBeliefsin classBeliefBase
-
getPercepts
Description copied from class:BeliefBaseReturns all beliefs that have "percept" as source- Overrides:
getPerceptsin classBeliefBase
-
abolish
Description copied from class:BeliefBaseRemoves all believes with some functor/arity in the default namespace- Overrides:
abolishin classBeliefBase
-
remove
Description copied from class:BeliefBaseRemoves a literal from BB, returns true if succeed- Overrides:
removein classBeliefBase
-
size
public int size()Description copied from class:BeliefBaseReturns the number of beliefs in BB- Overrides:
sizein classBeliefBase
-
getAsDOM
Description copied from class:BeliefBaseGets the BB as XML- Specified by:
getAsDOMin interfaceToDOM- Overrides:
getAsDOMin classBeliefBase
-
clone
- Specified by:
clonein classBeliefBase
-
toString
-