.. java:import:: java.util ArrayList .. java:import:: java.util HashMap .. java:import:: java.util HashSet .. java:import:: java.util Iterator .. java:import:: java.util LinkedHashMap .. java:import:: java.util LinkedHashSet .. java:import:: java.util LinkedList .. java:import:: java.util List .. java:import:: java.util Map .. java:import:: java.util Map.Entry .. java:import:: java.util Objects .. java:import:: java.util Set .. java:import:: org.apache.shiro.subject Subject .. java:import:: org.caosdb.server.accessControl ACMPermissions .. java:import:: org.caosdb.server.database.exceptions EntityDoesNotExistException .. java:import:: org.caosdb.server.datatype AbstractCollectionDatatype .. java:import:: org.caosdb.server.datatype CollectionValue .. java:import:: org.caosdb.server.datatype IndexedSingleValue .. java:import:: org.caosdb.server.datatype ReferenceDatatype .. java:import:: org.caosdb.server.datatype ReferenceDatatype2 .. java:import:: org.caosdb.server.datatype ReferenceValue .. java:import:: org.caosdb.server.datatype TextDatatype .. java:import:: org.caosdb.server.entity ClientMessage .. java:import:: org.caosdb.server.entity DeleteEntity .. java:import:: org.caosdb.server.entity EntityID .. java:import:: org.caosdb.server.entity EntityInterface .. java:import:: org.caosdb.server.entity Message .. java:import:: org.caosdb.server.entity Message.MessageType .. java:import:: org.caosdb.server.entity StatementStatus .. java:import:: org.caosdb.server.entity.container TransactionContainer .. java:import:: org.caosdb.server.entity.wrapper Property .. java:import:: org.caosdb.server.entity.xml ToElementable .. java:import:: org.caosdb.server.jobs EntityJob .. java:import:: org.caosdb.server.jobs LazyEntityResolver .. java:import:: org.caosdb.server.permissions EntityACI .. java:import:: org.caosdb.server.permissions EntityACL .. java:import:: org.caosdb.server.query Query .. java:import:: org.caosdb.server.utils EntityStatus .. java:import:: org.jdom2 Element EntityStateJob.StateModel ========================= .. java:package:: org.caosdb.server.jobs.core :noindex: .. java:type:: public class StateModel :outertype: EntityStateJob A StateModel is an abstract definition of a Finite State Machine for entities. It consists of a set of States, a set of transitions, a initial state and a final state. If the StateModel has no initial state, it cannot be initialized (no entity will ever be in any of the StateModel's states) without using the forceInitialState flag. If the StateModel has not final state, an entity with any of the states from this StateModel cannot leave this StateModel (and cannot be deleted either) without using the forceFinalState flag. :author: Timm Fitschen (t.fitschen@indiscale.com) Constructors ------------ StateModel ^^^^^^^^^^ .. java:constructor:: public StateModel(EntityInterface stateModelEntity) throws Message :outertype: EntityStateJob.StateModel Methods ------- equals ^^^^^^ .. java:method:: @Override public boolean equals(Object obj) :outertype: EntityStateJob.StateModel getFinalState ^^^^^^^^^^^^^ .. java:method:: public State getFinalState() :outertype: EntityStateJob.StateModel getInitialState ^^^^^^^^^^^^^^^ .. java:method:: public State getInitialState() :outertype: EntityStateJob.StateModel getName ^^^^^^^ .. java:method:: public String getName() :outertype: EntityStateJob.StateModel getStates ^^^^^^^^^ .. java:method:: public Set getStates() :outertype: EntityStateJob.StateModel getTransitions ^^^^^^^^^^^^^^ .. java:method:: public Set getTransitions() :outertype: EntityStateJob.StateModel toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: EntityStateJob.StateModel