public class LLState extends java.lang.Object implements MutableOOState
Modifier and Type | Field and Description |
---|---|
LLAgent |
agent |
java.util.List<LLBlock.LLObstacle> |
obstacles |
LLBlock.LLPad |
pad |
Constructor and Description |
---|
LLState() |
LLState(LLAgent agent,
LLBlock.LLPad pad,
java.util.List<LLBlock.LLObstacle> obstacles) |
LLState(LLAgent agent,
LLBlock.LLPad pad,
LLBlock.LLObstacle... obstacles) |
Modifier and Type | Method and Description |
---|---|
MutableOOState |
addObject(ObjectInstance o)
Adds object instance o to this state.
|
State |
copy()
Returns a copy of this state suitable for creating state transitions.
|
java.util.List<LLBlock.LLObstacle> |
deepTouchObstacles() |
java.lang.Object |
get(java.lang.Object variableKey)
Returns the value for the given variable key.
|
int |
numObjects()
Returns the number of object instances in this state.
|
ObjectInstance |
object(java.lang.String oname)
Returns the object in this state with the name oname
|
java.util.List<ObjectInstance> |
objects()
Returns the list of object instances in this state.
|
java.util.List<ObjectInstance> |
objectsOfClass(java.lang.String oclass)
Returns all objects that belong to the object class named oclass
|
MutableOOState |
removeObject(java.lang.String oname)
Removes the object instance with the name oname from this state.
|
MutableOOState |
renameObject(java.lang.String objectName,
java.lang.String newName)
Renames the identifier for object instance o in this state to newName.
|
MutableState |
set(java.lang.Object variableKey,
java.lang.Object value)
Sets the value for the given variable key.
|
java.lang.String |
toString() |
LLAgent |
touchAgent() |
LLBlock.LLObstacle |
touchObstacle(int ind) |
java.util.List<LLBlock.LLObstacle> |
touchObstacles() |
LLBlock.LLPad |
touchPad() |
java.util.List<java.lang.Object> |
variableKeys()
Returns the list of state variable keys.
|
public LLAgent agent
public LLBlock.LLPad pad
public java.util.List<LLBlock.LLObstacle> obstacles
public LLState()
public LLState(LLAgent agent, LLBlock.LLPad pad, java.util.List<LLBlock.LLObstacle> obstacles)
public LLState(LLAgent agent, LLBlock.LLPad pad, LLBlock.LLObstacle... obstacles)
public MutableOOState addObject(ObjectInstance o)
MutableOOState
addObject
in interface MutableOOState
o
- the object instance to be added to this state.public MutableOOState removeObject(java.lang.String oname)
MutableOOState
removeObject
in interface MutableOOState
oname
- the name of the object instance to remove.public MutableOOState renameObject(java.lang.String objectName, java.lang.String newName)
MutableOOState
renameObject
in interface MutableOOState
objectName
- the current object namenewName
- the new name of the object instancepublic int numObjects()
OOState
numObjects
in interface OOState
public ObjectInstance object(java.lang.String oname)
OOState
public java.util.List<ObjectInstance> objects()
OOState
public java.util.List<ObjectInstance> objectsOfClass(java.lang.String oclass)
OOState
objectsOfClass
in interface OOState
oclass
- the name of the object class for which objects should be returnedpublic MutableState set(java.lang.Object variableKey, java.lang.Object value)
MutableState
set
in interface MutableState
variableKey
- the key identifier for the variable value to changevalue
- the variable value to which the variable should be set.public java.util.List<java.lang.Object> variableKeys()
State
variableKeys
in interface State
public java.lang.Object get(java.lang.Object variableKey)
State
public State copy()
State
DeepCopyState
or ShallowCopyState
annotations. If it is a shallow copy, you should not *directly*
modify any fields of a copied state without copying the fields first, or it could contaminate the state from
which the copy was made. Alternatively, use the MutableState.set(Object, Object)
method to modify
ShallowCopyState
copied states,
which for ShallowCopyState
instances should perform a safe copy-on-write operation.public LLAgent touchAgent()
public LLBlock.LLPad touchPad()
public java.util.List<LLBlock.LLObstacle> touchObstacles()
public LLBlock.LLObstacle touchObstacle(int ind)
public java.util.List<LLBlock.LLObstacle> deepTouchObstacles()
public java.lang.String toString()
toString
in class java.lang.Object