.. 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.State ==================== .. java:package:: org.caosdb.server.jobs.core :noindex: .. java:type:: public class State implements ToElementable :outertype: EntityStateJob The State instance represents a single entity state. This class is used for concrete states (the state of a stateful entity, say a Record) and abstract states (states which are part of a \ :java:ref:`StateModel`\ ). States are identified via their name and the name of the model to which they belong. States are represented by Records with the state's name as the Record name. They belong to a StateModel iff the StateModel RecordType references the State Record. Each State should only belong to one StateModel. Furthermore, States are the start or end point of \ :java:ref:`Transitions `\ which belong to the same StateModel. Each State can be part of several transitions at the same time. Note: The purpose of this should not be confused with \ :java:ref:`EntityStatus`\ which is purely for internal use. :author: Timm Fitschen (t.fitschen@indiscale.com) Constructors ------------ State ^^^^^ .. java:constructor:: public State(EntityInterface stateEntity, EntityInterface stateModelEntity) throws Message :outertype: EntityStateJob.State Methods ------- addToElement ^^^^^^^^^^^^ .. java:method:: @Override public void addToElement(Element ret) :outertype: EntityStateJob.State Serialize this State into XML. The result looks approximately like this: createStateProperty ^^^^^^^^^^^^^^^^^^^ .. java:method:: public Property createStateProperty() throws Message :outertype: EntityStateJob.State Create a Property which represents the current entity state of a stateful entity. :throws Message: :return: stateProperty equals ^^^^^^ .. java:method:: @Override public boolean equals(Object obj) :outertype: EntityStateJob.State getStateACL ^^^^^^^^^^^ .. java:method:: public EntityACL getStateACL() :outertype: EntityStateJob.State getStateDescription ^^^^^^^^^^^^^^^^^^^ .. java:method:: public String getStateDescription() throws Message :outertype: EntityStateJob.State getStateEntity ^^^^^^^^^^^^^^ .. java:method:: public EntityInterface getStateEntity() :outertype: EntityStateJob.State getStateId ^^^^^^^^^^ .. java:method:: public EntityID getStateId() throws Message :outertype: EntityStateJob.State getStateModel ^^^^^^^^^^^^^ .. java:method:: public StateModel getStateModel() throws Message :outertype: EntityStateJob.State getStateModelEntity ^^^^^^^^^^^^^^^^^^^ .. java:method:: public EntityInterface getStateModelEntity() :outertype: EntityStateJob.State getStateModelName ^^^^^^^^^^^^^^^^^ .. java:method:: public String getStateModelName() :outertype: EntityStateJob.State hashCode ^^^^^^^^ .. java:method:: @Override public int hashCode() :outertype: EntityStateJob.State isFinal ^^^^^^^ .. java:method:: public boolean isFinal() throws Message :outertype: EntityStateJob.State :throws Message: :return: true iff this state is a final state of its StateModel. isInitial ^^^^^^^^^ .. java:method:: public boolean isInitial() throws Message :outertype: EntityStateJob.State :throws Message: :return: true iff this state is an initial state of its StateModel. toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: EntityStateJob.State