Package jason.bb
Class DefaultBeliefBase
java.lang.Object
jason.bb.BeliefBase
jason.bb.DefaultBeliefBase
- All Implemented Interfaces:
ToDOM
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<Literal>
public class DefaultBeliefBase extends BeliefBase implements java.io.Serializable
Default implementation of Jason BB.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
DefaultBeliefBase.BelEntry
each predicate indicator has one BelEntry assigned to it(package private) class
DefaultBeliefBase.EntryIteratorWrapper
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<PredicateIndicator,DefaultBeliefBase.BelEntry>
belsMapDefaultNS
belsMap is a table where the key is the bel.getFunctorArity and the value is a list of literals with the same functorArity.private static java.util.logging.Logger
logger
private java.util.Map<Atom,java.util.Map<PredicateIndicator,DefaultBeliefBase.BelEntry>>
nameSpaces
protected java.util.Set<Literal>
percepts
set of beliefs with percept annot, used to improve performance of bufprivate static long
serialVersionUID
private int
size
-
Constructor Summary
Constructors Constructor Description DefaultBeliefBase()
-
Method Summary
Modifier and Type Method Description boolean
abolish(Atom namespace, PredicateIndicator pi)
boolean
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.protected boolean
add(Literal l, boolean addInEnd)
void
clear()
removes all beliefs from BBBeliefBase
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.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.util.Set<Atom>
getNameSpaces()
java.util.Iterator<Literal>
getPercepts()
Returns all beliefs that have "percept" as source(package private) java.util.Set<Literal>
getPerceptsSet()
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.private DefaultBeliefBase.BelEntry
provideBelEntry(Literal l)
boolean
remove(Literal l)
Removes a literal from BB, returns true if succeedprivate boolean
removeFromEntry(Literal l)
int
size()
Returns the number of beliefs in BBjava.lang.String
toString()
Methods inherited from class jason.bb.BeliefBase
abolish, getLock, stop
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
- Constant Field Values
-
logger
private static java.util.logging.Logger logger -
belsMapDefaultNS
belsMap is a table where the key is the bel.getFunctorArity and the value is a list of literals with the same functorArity. -
nameSpaces
private java.util.Map<Atom,java.util.Map<PredicateIndicator,DefaultBeliefBase.BelEntry>> nameSpaces -
size
private int size -
percepts
set of beliefs with percept annot, used to improve performance of buf
-
-
Constructor Details
-
DefaultBeliefBase
public DefaultBeliefBase()
-
-
Method Details
-
init
Description copied from class:BeliefBase
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"].- Overrides:
init
in classBeliefBase
-
getNameSpaces
- Overrides:
getNameSpaces
in classBeliefBase
-
size
public int size()Description copied from class:BeliefBase
Returns the number of beliefs in BB- Overrides:
size
in classBeliefBase
-
clear
public void clear()Description copied from class:BeliefBase
removes all beliefs from BB- Overrides:
clear
in classBeliefBase
-
getPercepts
Description copied from class:BeliefBase
Returns all beliefs that have "percept" as source- Overrides:
getPercepts
in classBeliefBase
-
getPerceptsSet
java.util.Set<Literal> getPerceptsSet() -
add
Description copied from class:BeliefBase
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.- Overrides:
add
in classBeliefBase
-
add
Description copied from class:BeliefBase
Adds a belief in the BB at index position, returns true if succeed- Overrides:
add
in classBeliefBase
-
add
-
provideBelEntry
-
remove
Description copied from class:BeliefBase
Removes a literal from BB, returns true if succeed- Overrides:
remove
in classBeliefBase
-
removeFromEntry
-
iterator
Description copied from class:BeliefBase
Returns an iterator for all beliefs.- Specified by:
iterator
in interfacejava.lang.Iterable<Literal>
- Specified by:
iterator
in classBeliefBase
-
abolish
- Overrides:
abolish
in classBeliefBase
-
contains
Description copied from class:BeliefBase
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].- Overrides:
contains
in classBeliefBase
-
getCandidateBeliefs
Description copied from class:BeliefBase
Returns an iterator for all literals in the default namespace of the BB that match the functor/arity of the parameter.- Specified by:
getCandidateBeliefs
in classBeliefBase
-
getCandidateBeliefs
Description copied from class:BeliefBase
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)}.- Overrides:
getCandidateBeliefs
in classBeliefBase
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
clone
- Specified by:
clone
in classBeliefBase
-
getAsDOM
public org.w3c.dom.Element getAsDOM(org.w3c.dom.Document document)Description copied from class:BeliefBase
Gets the BB as XML- Specified by:
getAsDOM
in interfaceToDOM
- Overrides:
getAsDOM
in classBeliefBase
-