-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.interfaces.Dependency
,it.unibo.alchemist.model.interfaces.ILsaMolecule
,it.unibo.alchemist.model.interfaces.Molecule
,java.io.Serializable
,java.lang.Comparable
,java.lang.Iterable
public final class LsaMolecule extends SimpleMolecule implements ILsaMolecule
This class realizes an LsaMolecule, where arguments are of type Expression.
-
-
Field Summary
Fields Modifier and Type Field Description public final static HashString
SYN_D
public final static HashString
SYN_MOL_ID
public final static HashString
SYN_NEIGH
public final static HashString
SYN_NODE_ID
public final static HashString
SYN_O
public final static HashString
SYN_RAND
public final static HashString
SYN_ROUTE
public final static HashString
SYN_SELECTED
public final static HashString
SYN_T
-
Constructor Summary
Constructors Constructor Description LsaMolecule()
Empty molecule, no arguments. LsaMolecule(List<IExpression> listArgs)
Builds a new LsaMolecule by interpreting a list of IExpressions.Dramatically faster than parsing, slower than copy. LsaMolecule(LsaMolecule m)
Very fast constructor, produces a copy of an LsaMolecule. LsaMolecule(String argsString)
Builds a LsaMolecule by parsing the passed String. LsaMolecule(String argsString, String description)
Builds a LsaMolecule by parsing the passed String.
-
Method Summary
Modifier and Type Method Description List<IExpression>
allocateVar(Map<HashString, ITreeNode<out Object>> matches)
int
argsNumber()
int
compareTo(ILsaMolecule o)
boolean
dependsOn(Dependency m)
boolean
equals(Object o)
void
forEach(Consumer<out Object> action)
ILsaMolecule
generalize()
IExpression
getArg(int i)
boolean
hasDuplicateVariables()
int
hashCode()
boolean
isIdenticalTo(ILsaMolecule mol)
boolean
isIstance()
Iterator<IExpression>
iterator()
boolean
matches(ILsaMolecule mol)
boolean
matches(List<out IExpression> mol, boolean duplicateVariables)
boolean
moreGenericOf(ILsaMolecule mol)
int
size()
Spliterator<IExpression>
spliterator()
HashString
toHashString()
String
toString()
-
Methods inherited from class it.unibo.alchemist.model.implementations.molecules.SimpleMolecule
equals, getName, hashCode, toString
-
Methods inherited from class it.unibo.alchemist.model.interfaces.Dependency
dependsOn, makesDependent
-
Methods inherited from class it.unibo.alchemist.model.interfaces.ILsaMolecule
allocateVar, equals, getArg, isIdenticalTo, matches, matches, moreGenericOf
-
Methods inherited from class java.lang.Iterable
forEach, iterator, spliterator
-
Methods inherited from class java.lang.Comparable
compareTo
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
LsaMolecule
LsaMolecule()
Empty molecule, no arguments.
-
LsaMolecule
LsaMolecule(List<IExpression> listArgs)
Builds a new LsaMolecule by interpreting a list of IExpressions.Dramatically faster than parsing, slower than copy.- Parameters:
listArgs
- the list of IExpressions
-
LsaMolecule
LsaMolecule(LsaMolecule m)
Very fast constructor, produces a copy of an LsaMolecule.- Parameters:
m
- the LsaMolecule to copy
-
LsaMolecule
LsaMolecule(String argsString)
Builds a LsaMolecule by parsing the passed String.- Parameters:
argsString
- the String to parse
-
-
Method Detail
-
allocateVar
List<IExpression> allocateVar(Map<HashString, ITreeNode<out Object>> matches)
- Parameters:
matches
- the map with the variable / value bindings
-
argsNumber
int argsNumber()
-
compareTo
int compareTo(ILsaMolecule o)
-
dependsOn
boolean dependsOn(Dependency m)
-
generalize
ILsaMolecule generalize()
-
getArg
IExpression getArg(int i)
- Parameters:
i
- : position of the argument to get
-
hasDuplicateVariables
boolean hasDuplicateVariables()
-
hashCode
int hashCode()
-
isIdenticalTo
boolean isIdenticalTo(ILsaMolecule mol)
- Parameters:
mol
- the molecule to compare to
-
isIstance
boolean isIstance()
-
matches
boolean matches(ILsaMolecule mol)
- Parameters:
mol
- the LsaMolecule to try to match with.
-
matches
boolean matches(List<out IExpression> mol, boolean duplicateVariables)
- Parameters:
mol
- the LsaMolecule to try to match withduplicateVariables
- if true, the matching of variables reused within the sametuple is enabled
-
moreGenericOf
boolean moreGenericOf(ILsaMolecule mol)
- Parameters:
mol
- the molecule to compare to
-
size
int size()
-
spliterator
Spliterator<IExpression> spliterator()
-
toHashString
HashString toHashString()
-
-
-
-