Package wt.workflow.engine
Class WfExecutionObject
java.lang.Object
wt.fc._WTObject
wt.fc.WTObject
wt.enterprise._Simple
wt.enterprise.Simple
wt.workflow.engine._WfExecutionObject
wt.workflow.engine.WfExecutionObject
- All Implemented Interfaces:
Externalizable,Serializable,wt.access._AccessControlled,wt.access._PolicyAccessControlled,wt.access._SecurityLabeled,AccessControlled,wt.access.PolicyAccessControlled,SecurityLabeled,wt.admin._DomainAdministered,DomainAdministered,wt.fc._NetFactor,wt.fc._ObjectMappable,wt.fc._Persistable,wt.fc.adminlock._AdministrativelyLockable,AdministrativelyLockable,wt.fc.BusinessInformation,NetFactor,ObjectMappable,Persistable,DisplayIdentification,wt.inf.container._WTContained,WTContained,wt.notify._Notifiable,Notifiable,wt.recent.RecentlyVisited
- Direct Known Subclasses:
wt.workflow.engine._WfActivity,wt.workflow.engine._WfContainer
@GenAsPersistable(superClass=Simple.class,interfaces=WTContained.class,versions=4617302337003698326L,properties={@GeneratedProperty(name="name",type=java.lang.String.class,supportedAPI=PUBLIC,javaDoc="Human readable, descriptive identifier of the execution object.",accessors=@PropertyAccessors(setExceptions={}),constraints=@PropertyConstraints(upperLimit=4000)),@GeneratedProperty(name="description",type=java.lang.String.class,javaDoc="Description of the execution object.",accessors=@PropertyAccessors(setExceptions={}),constraints=@PropertyConstraints(upperLimit=4000)),@GeneratedProperty(name="priority",type=long.class,supportedAPI=PUBLIC,javaDoc="Relative priority of the execution object in the set of all objects of a given type. Valid values are numbers between one and five, with three being \"normal\" and one as the \"highest\" priority.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="state",type=WfState.class,javaDoc="State of the object.",accessors=@PropertyAccessors(setExceptions={}),constraints=@PropertyConstraints(upperLimit=40),columnProperties=@ColumnProperties(index=true)),@GeneratedProperty(name="context",type=ProcessData.class,supportedAPI=PUBLIC,javaDoc="Input and output data for the execution object. The context is described by a set of named variables (also called \"attributes\" or \"properties\"). These variables can be both read and written by the object. The context for a process correspond to the global data for all process activities. For activities, it is possible to map its (local) variables onto process (global) variables. This mapping provides the way by which activities communicate data.",accessors=@PropertyAccessors(setExceptions={}),columnProperties=@ColumnProperties(columnType=INLINE_BLOB)),@GeneratedProperty(name="startTime",type=java.sql.Timestamp.class,javaDoc="Time the execution of the object started. Set by the \'start\' transition.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="endTime",type=java.sql.Timestamp.class,javaDoc="Time in which the enactment of the object ended. It is set by the complete, terminate and abort transitions.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="template",type=WfTemplateObjectReference.class,supportedAPI=PUBLIC_PRIVATE,javaDoc="Reference to the template object from which the execution object was derived. This object can be accessed using the \'getTemplate\' method.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="deadline",type=java.sql.Timestamp.class,javaDoc="Attribute that captures when the activty or process should complete. It is computed adding the start time and the duration attributes (duration and process duration) from the object\'s template. <p>The algorithm for computing the deadline is the following. The deadline is computed twice: by summing the current time to duration and the time the the host process started (if there is one) to processDuration. The least value is taken as the deadline. The duration or processDuration attribute is ignored is it is zero (no value was set). If both attributes are zero, the dealine is left null. <p>The computed deadline value can be overwritten using the setDeadline method. If duration is null or if the dealine is not explictly set, its value is \'null\' meaning that there is no dealine and the object is never \'overdue.\'",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="suspendTime",type=long.class,javaDoc="Total time in milliseconds the object has been suspended.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="alertTime",type=long.class,javaDoc="Total time in milliseconds the execution object has been running.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="changeStateTime",type=long.class,javaDoc="Time of the last change of state. This is an internal attribute used to compute suspend and alert times.",accessors=@PropertyAccessors(getAccess=PROTECTED,setExceptions={})),@GeneratedProperty(name="eventConfiguration",type=WfEventConfiguration.class,javaDoc="Attribute holding which internal execution events should be recorded and/or emitted.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="key",type=long.class,javaDoc="Identifier of the execution object. The key of a WfProcess is unique amongst the set of all processes created by a particular WfProcessTemplate; the key of an activity is unique within the set of all activities contained in a particular WfProcess. <p> Implementation note: the easiest way to satisfy the uniqueness constraints is to make the key unique over all processes.",accessors=@PropertyAccessors(setExceptions={}),constraints=@PropertyConstraints(changeable=FROZEN,upperLimit=40),columnProperties=@ColumnProperties(index=true,columnName="wtkey",columnType=SEQUENCE)),@GeneratedProperty(name="timeToStart",type=java.sql.Timestamp.class,javaDoc="Time the execution of the object should wait until it starts. If null execution starts immediately. For stand-alone processes the default time to start is computed by adding the startDelay to the current time, if startDelay is not zero. If startDelay is zero then timeToStart is left null. <p>For nested processes and activities the current time is added to both the startDelay and the startProcessDelay: the greater is picked as the timeToStart. If both startDelay and startProcessDelay are zero then timeToStart is left null. <p>For stand alone processes it should be possible to overwrite the default time with an absolute time.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="timeToDeadline",type=java.sql.Timestamp.class,javaDoc="Time the execution of the object that, when reached, triggers a notification to appropriate parties that the deadline is approaching.",accessors=@PropertyAccessors(setExceptions={}),columnProperties=@ColumnProperties(persistent=false)),@GeneratedProperty(name="timePastDeadline",type=java.sql.Timestamp.class,javaDoc="Time the execution of the object that, when reached, triggers a notification to appropriate parties that the deadline has passed..",accessors=@PropertyAccessors(setExceptions={}),columnProperties=@ColumnProperties(persistent=false)),@GeneratedProperty(name="deadlineDuration",type=long.class,javaDoc="Attribute that captures a time span after which the activty or process should be completed. It is used to compute the deadline. See the deadline attribute on this class.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="adSQEN",type=long.class,initialValue="0",javaDoc="Attribute that captures a the ScheduleQueueEntry number. for the approaching Deadline check. It is used to lookup this entry so that it can be removed id a deadline update is in progress.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="dSQEN",type=long.class,initialValue="0",javaDoc="Attribute that captures a the ScheduleQueueEntry number. for the deadline check. It is used to lookup this entry so that it can be removed id a deadline update is in progress.",accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="pdSQEN",type=long.class,initialValue="0",javaDoc="Attribute that captures a the ScheduleQueueEntry number. for the past Deadline check. It is used to lookup this entry so that it can be removed id a deadline update is in progress.",accessors=@PropertyAccessors(setExceptions={}))})
public abstract class WfExecutionObject
extends _WfExecutionObject
WfExecutionObject is an abstract base class that defines
common attributes, states and operations for processes and steps. When
a WfExecutionObject is created it enters the 'open.notRunning.notStarted'
state.
Supported API: true
Extendable: false
- See Also:
-
Field Summary
Fields inherited from class wt.workflow.engine._WfExecutionObject
AD_SQEN, ALERT_TIME, CHANGE_STATE_TIME, CONTEXT, D_SQEN, DEADLINE, DEADLINE_DURATION, DESCRIPTION, END_TIME, EVENT_CONFIGURATION, EXTERNALIZATION_VERSION_UID, KEY, NAME, PD_SQEN, PRIORITY, START_TIME, STATE, SUSPEND_TIME, TEMPLATE, TIME_PAST_DEADLINE, TIME_TO_DEADLINE, TIME_TO_STARTFields inherited from class wt.fc._WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMPFields inherited from interface wt.fc.adminlock._AdministrativelyLockable
ADMINISTRATIVE_LOCKFields inherited from interface wt.admin._DomainAdministered
DOMAIN_REF, INHERITED_DOMAINFields inherited from interface wt.notify._Notifiable
EVENT_SETFields inherited from interface wt.fc._Persistable
PERSIST_INFOFields inherited from interface wt.access._SecurityLabeled
SECURITY_LABELSFields inherited from interface wt.inf.container._WTContained
CONTAINER, CONTAINER_NAME, CONTAINER_REFERENCEFields inherited from interface wt.fc.BusinessInformation
BUSINESS_TYPE, IDENTITYFields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPEFields inherited from interface wt.fc.Persistable
IDENTITY, TYPEFields inherited from interface wt.access.SecurityLabeled
SECURITY_LABELS_INTERNAL_VALUEFields inherited from interface wt.inf.container.WTContained
CONTAINER_ID -
Method Summary
Methods inherited from class wt.workflow.engine._WfExecutionObject
getAdSQEN, getAlertTime, getChangeStateTime, getClassInfo, getConceptualClassname, getContainer, getContainerName, getContainerReference, getContext, getDeadline, getDeadlineDuration, getDescription, getDSQEN, getEndTime, getKey, getName, getPdSQEN, getPriority, getStartTime, getState, getSuspendTime, getTemplate, getTimeToStart, getType, readExternal, readExternal, setAdSQEN, setAlertTime, setChangeStateTime, setContainer, setContainerReference, setContext, setDeadlineDuration, setDescription, setDSQEN, setEndTime, setEventConfiguration, setKey, setName, setPdSQEN, setPriority, setStartTime, setState, setSuspendTime, setTemplate, setTimePastDeadline, setTimeToDeadline, setTimeToStart, super_readExternal_WfExecutionObject, super_readVersion_WfExecutionObject, super_writeExternal_WfExecutionObject, writeExternal, writeExternalMethods inherited from class wt.enterprise.Simple
getBusinessTypeMethods inherited from class wt.enterprise._Simple
getAdministrativeLock, getDomainRef, getEventSet, getSecurityLabels, isInheritedDomain, readVersion, setAdministrativeLock, setDomainRef, setEventSet, setInheritedDomain, setSecurityLabels, super_readExternal_Simple, super_readVersion_Simple, super_writeExternal_SimpleMethods inherited from class wt.fc.WTObject
checkAttributes, duplicate, getDisplayIdentifier, getDisplayIdentity, getDisplayTypeMethods inherited from class wt.fc._WTObject
equals, getCreateTimestamp, getModifyTimestamp, getPersistInfo, hashCode, readVersion, setPersistInfoMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface wt.fc._Persistable
getPersistInfo, setPersistInfoMethods inherited from interface wt.fc.Persistable
checkAttributes