Interface ConditionWorldState
-
- All Implemented Interfaces:
-
com.embabel.common.core.types.HasInfoString,com.embabel.common.core.types.Timestamped,com.embabel.plan.WorldState
public interface ConditionWorldState implements WorldState
Represents the state of the world at any time. World state is just a map. This class exposes operations on the state.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public classConditionWorldState.Companion
-
Method Summary
Modifier and Type Method Description abstract ConditionWorldStateplus(ConditionAction action)Apply an action to a state, returning the resulting new state. abstract ConditionWorldStateplus(Pair<String, ConditionDetermination> pair)Add a single condition determination abstract Collection<String>unknownConditions()abstract Collection<ConditionWorldState>variants(String unknownCondition)Generate variants with different definite values for the given condition abstract Collection<ConditionWorldState>withOneChange()Generate all possible changes to the world state where only one condition is changed abstract BooleansatisfiesPreconditions(Map<String, ConditionDetermination> preconditions)Are all preconditions satisfied in this world state? abstract Map<String, ConditionDetermination>getState()-
Methods inherited from class com.embabel.common.core.types.HasInfoString
infoString -
Methods inherited from class com.embabel.common.core.types.Timestamped
getTimestamp, isLaterThan -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
plus
abstract ConditionWorldState plus(ConditionAction action)
Apply an action to a state, returning the resulting new state.
-
plus
abstract ConditionWorldState plus(Pair<String, ConditionDetermination> pair)
Add a single condition determination
-
unknownConditions
abstract Collection<String> unknownConditions()
-
variants
abstract Collection<ConditionWorldState> variants(String unknownCondition)
Generate variants with different definite values for the given condition
-
withOneChange
abstract Collection<ConditionWorldState> withOneChange()
Generate all possible changes to the world state where only one condition is changed
-
satisfiesPreconditions
abstract Boolean satisfiesPreconditions(Map<String, ConditionDetermination> preconditions)
Are all preconditions satisfied in this world state?
-
getState
abstract Map<String, ConditionDetermination> getState()
-
-
-
-