public class BlocksWorldState extends java.lang.Object implements MutableOOState
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,BlocksWorldBlock> |
blocks |
Constructor and Description |
---|
BlocksWorldState() |
BlocksWorldState(java.util.Map<java.lang.String,BlocksWorldBlock> blocks) |
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.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() |
java.util.List<java.lang.Object> |
variableKeys()
Returns the list of state variable keys.
|
protected java.util.Map<java.lang.String,BlocksWorldBlock> blocks
public BlocksWorldState()
public BlocksWorldState(java.util.Map<java.lang.String,BlocksWorldBlock> blocks)
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 java.lang.String toString()
toString
in class java.lang.Object