Package jason.bb
Class BeliefBase
java.lang.Object
jason.bb.BeliefBase
- Direct Known Subclasses:
ChainBBAdapter
,DefaultBeliefBase
public abstract class BeliefBase extends java.lang.Object implements java.lang.Iterable<Literal>, java.lang.Cloneable, ToDOM
Common interface for all kinds of Jason Belief bases, even those
customised by the user.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description BeliefBase()
-
Method Summary
Modifier and Type Method Description boolean
abolish(Atom namespace, PredicateIndicator pi)
boolean
abolish(PredicateIndicator pi)
Removes all believes with some functor/arity in the default namespaceboolean
add(int index, Literal l)
Adds a belief in the BB at index position, returns true if succeedboolean
add(Literal l)
Adds a belief in the end of the BB, returns true if succeed.void
clear()
removes all beliefs from BBabstract 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 XMLjava.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.abstract 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.java.lang.Object
getLock()
Gets a lock for the BBjava.util.Set<Atom>
getNameSpaces()
java.util.Iterator<Literal>
getPercepts()
Returns all beliefs that have "percept" as sourcevoid
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"].abstract java.util.Iterator<Literal>
iterator()
Returns an iterator for all beliefs.private void
readObject(java.io.ObjectInputStream inputStream)
boolean
remove(Literal l)
Removes a literal from BB, returns true if succeedint
size()
Returns the number of beliefs in BBvoid
stop()
Called just before the end of MAS executionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
ASelf
-
APercept
-
TPercept
represents the structure 'source(percept)' -
TSelf
represents the structure 'source(self)' -
lock
transient java.lang.Object lock
-
-
Constructor Details
-
BeliefBase
public BeliefBase()
-
-
Method Details
-
init
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"]. -
stop
public void stop()Called just before the end of MAS execution -
clear
public void clear()removes all beliefs from BB -
getNameSpaces
-
add
Adds 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. -
add
Adds a belief in the BB at index position, returns true if succeed -
iterator
Returns an iterator for all beliefs.- Specified by:
iterator
in interfacejava.lang.Iterable<Literal>
-
getCandidateBeliefs
Returns an iterator for all literals in the default namespace of the BB that match the functor/arity of the parameter. -
getCandidateBeliefs
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. 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)}. -
contains
Returns 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]. -
size
public int size()Returns the number of beliefs in BB -
getPercepts
Returns all beliefs that have "percept" as source -
remove
Removes a literal from BB, returns true if succeed -
abolish
Removes all believes with some functor/arity in the default namespace -
abolish
-
getAsDOM
public org.w3c.dom.Element getAsDOM(org.w3c.dom.Document document)Gets the BB as XML -
clone
- Overrides:
clone
in classjava.lang.Object
-
getLock
public java.lang.Object getLock()Gets a lock for the BB -
readObject
private void readObject(java.io.ObjectInputStream inputStream) throws java.io.IOException, java.lang.ClassNotFoundException- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-