wt.workflow.engine
Class WfRequesterActivity

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.enterprise.Simple
          extended bywt.workflow.engine.WfExecutionObject
              extended bywt.workflow.engine.WfActivity
                  extended bywt.workflow.engine.WfRequesterActivity
All Implemented Interfaces:
AccessControlled, BusinessInformation, DisplayIdentification, DomainAdministered, Externalizable, NetFactor, Notifiable, ObjectMappable, Persistable, RecentlyVisited, Serializable, WfNode, WfRequester, WTContained

public class WfRequesterActivity
extends WfActivity
implements WfRequester, Externalizable

The WfRequesterActivity class implements WfRequester to allow processes to be embedded in other processes. This class assumes that both the process and sub-process reside in the same installation. In the case of change of state events, the 'receiveEvent' method simply effects the change in its internal state (which may cause triggering of other actions in the workflow).

Use the newWfRequesterActivity static factory method(s), not the WfRequesterActivity constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private  WfContainerReference performerRef
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private static boolean VERBOSE
           
 
Fields inherited from class wt.workflow.engine.WfActivity
INPUT_VARIABLE_MAP, OUTPUT_VARIABLE_MAP, ROUTER_TYPE, TRIP_COUNT, USER_EVENT_LIST
 
Fields inherited from class wt.workflow.engine.WfExecutionObject
AD_SQEN, ALERT_TIME, CHANGE_STATE_TIME, CONTAINER, CONTEXT, D_SQEN, DEADLINE, DEADLINE_DURATION, DESCRIPTION, END_TIME, EVENT_CONFIGURATION, EXCEPTION_MESSAGE, KEY, NAME, PD_SQEN, PRIORITY, START_TIME, STATE, SUSPEND_TIME, TEMPLATE, TIME_PAST_DEADLINE, TIME_TO_DEADLINE, TIME_TO_START
 
Fields inherited from class wt.enterprise.Simple
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.workflow.engine.WfRequester
PERFORMER_REF
 
Fields inherited from interface wt.workflow.engine.WfNode
PARENT_PROCESS_REF
 
Fields inherited from interface wt.inf.container.WTContained
CONTAINER_ID, CONTAINER_NAME, CONTAINER_REFERENCE
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.admin.DomainAdministered
DOMAIN_REF, INHERITED_DOMAIN
 
Fields inherited from interface wt.fc.BusinessInformation
BUSINESS_TYPE, IDENTITY
 
Fields inherited from interface wt.notify.Notifiable
EVENT_SET
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
WfRequesterActivity()
           
 
Method Summary
 WfExecutionObject changeState(WfTransition transition)
          This method is used by containing process of application to force the process to undergo state changes.
 WfExecutionObject changeState(WfTransition transition, boolean propagate)
          Updates the current state of the activity.
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 long getAlertTime()
          Returns alert time of the performer process.
 String getConceptualClassname()
          Deprecated.  
 ProcessData getContext()
          Returns context of the performer process.
 Timestamp getDeadline()
          Returns the deadline of the performer process.
 String getDescription()
          Returns description of the performer process/block.
 Timestamp getEndTime()
          Returns end time of the performer process.
 String getName()
          Returns name of the performer process/block.
 WfContainer getPerformer()
          Returns the process associated with the requester.
 WfContainerReference getPerformerRef()
          Gets the value of the attribute: PERFORMER_REF.
 Timestamp getStartTime()
          Returns start time of the performer process.
 long getSuspendTime()
          Returns suspend time of the performer process.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
static WfRequesterActivity newWfRequesterActivity(WfContainer container)
          Constructs a requester activity given its owning process.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(WfRequesterActivity thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void receiveEvent(Object event)
          This operation is used by the associated WfProcess to notify its requester of workflow events.
 void setContext(ProcessData new_context)
          Sets the context of the performer process.
 void setPerformerRef(WfContainerReference a_PerformerRef)
          Sets the value of the attribute: PERFORMER_REF.
 String toString()
          Returns a string representation of the requester activity.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class wt.workflow.engine.WfActivity
changeState, checkSuspendedProcess, complete, computeDeadline, computeDeadline, computeTimeToStart, deleteActivity, doAbortTransition, doCompleteTransition, doDisableTransition, doEnableTransition, doResetTransition, doResumeTransition, doSkipTransition, doStartTransition, doSuspendTransition, doTerminateTransition, doWork, evaluateRouterExpression, getInputVariableMap, getOutputVariableMap, getParentProcess, getParentProcessReadOnly, getParentProcessRef, getRouterEvent, getRouterType, getTemplateReference, getTripCount, getUserEventList, getWfException, hasRouterExpression, initialize, propagateEvent, readValues, readVersion, registerEvent, setInputVariableMap, setOutputVariableMap, setParentProcessRef, setRouterType, setTripCount, setUserEventList, updateWfAssigneeNotification, updateWfDueDate, updateWfDuration, writeValues
 
Methods inherited from class wt.workflow.engine.WfExecutionObject
calculateTimePastDeadline, calculateTimeToDeadline, changeDeadline, changeStateAttributes, computeTimePastDeadline, computeTimeToDeadline, evaluateExpression, getAdSQEN, getChangeStateTime, getContainer, getContainerName, getContainerReference, getDeadlineDuration, getDSQEN, getEventConfiguration, getIdentity, getKey, getPdSQEN, getPriority, getState, getTemplate, getTimePastDeadline, getTimeToDeadline, getTimeToStart, getVarDueDate, getVarDuration, getVarNotification, initialize, initialize, isOverdue, readVersion, removeDeadlineQueueEntries, resetValues, setAdSQEN, setAlertTime, setChangeStateTime, setContainer, setContainerReference, setDeadline, setDeadlineDuration, setDescription, setDSQEN, setEndTime, setEventConfiguration, setKey, setName, setPdSQEN, setPriority, setStartTime, setState, setSuspendTime, setTemplate, setTimePastDeadline, setTimeToDeadline, setTimeToStart, validTransitions
 
Methods inherited from class wt.enterprise.Simple
getBusinessType, getDomainRef, getEventSet, isInheritedDomain, readVersion, setDomainRef, setEventSet, setInheritedDomain
 
Methods inherited from class wt.fc.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getModifyTimestamp, getPersistInfo, getType, readVersion, setPersistInfo
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.Persistable
checkAttributes, getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

performerRef

private WfContainerReference performerRef

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

VERBOSE

private static final boolean VERBOSE
Constructor Detail

WfRequesterActivity

public WfRequesterActivity()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class WfActivity
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class WfActivity
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(WfRequesterActivity thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Overrides:
writeExternal in class WfActivity
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Overrides:
readExternal in class WfActivity
Parameters:
input -
Throws:
SQLException
DatastoreException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Returns:
String

toString

public String toString()
Returns a string representation of the requester activity. Used mostly for debugging purposes: not appropriate for GUI use.

Supported API: false

Overrides:
toString in class WfActivity
Returns:
String

newWfRequesterActivity

public static WfRequesterActivity newWfRequesterActivity(WfContainer container)
                                                  throws WTException
Constructs a requester activity given its owning process.

Supported API: false

Parameters:
container -
Returns:
WfRequesterActivity
Throws:
WTException

getName

public String getName()
Returns name of the performer process/block. Overrides getName from WfExecutionObject.

Supported API: false

Overrides:
getName in class WfExecutionObject
Returns:
String

getDescription

public String getDescription()
Returns description of the performer process/block. Overrides getDescription from WfExecutionObject.

Supported API: false

Overrides:
getDescription in class WfExecutionObject
Returns:
String

getContext

public ProcessData getContext()
Returns context of the performer process. Overrides getContext from execution object.

Supported API: false

Overrides:
getContext in class WfExecutionObject
Returns:
ProcessData

setContext

public void setContext(ProcessData new_context)
Sets the context of the performer process. Overrides setContext from execution object.

Supported API: false

Overrides:
setContext in class WfExecutionObject
Parameters:
new_context -

getStartTime

public Timestamp getStartTime()
Returns start time of the performer process. Overrides getStartTime from execution object.

Supported API: false

Overrides:
getStartTime in class WfExecutionObject
Returns:
Timestamp

getEndTime

public Timestamp getEndTime()
Returns end time of the performer process. Overrides getEndTime from execution object.

Supported API: false

Overrides:
getEndTime in class WfExecutionObject
Returns:
Timestamp

getDeadline

public Timestamp getDeadline()
Returns the deadline of the performer process. Overrides getDeadline from execution object.

Supported API: false

Overrides:
getDeadline in class WfExecutionObject
Returns:
Timestamp

getAlertTime

public long getAlertTime()
Returns alert time of the performer process. Overrides getAlertTime from execution object.

Supported API: false

Overrides:
getAlertTime in class WfExecutionObject
Returns:
long

getSuspendTime

public long getSuspendTime()
Returns suspend time of the performer process. Overrides geSuspendTime from execution object.

Supported API: false

Overrides:
getSuspendTime in class WfExecutionObject
Returns:
long

getPerformerRef

public WfContainerReference getPerformerRef()
Gets the value of the attribute: PERFORMER_REF. Reference to the performer object associated with the requester.

Supported API: false

Specified by:
getPerformerRef in interface WfRequester
Returns:
WfContainerReference

setPerformerRef

public void setPerformerRef(WfContainerReference a_PerformerRef)
Sets the value of the attribute: PERFORMER_REF. Reference to the performer object associated with the requester.

Supported API: false

Specified by:
setPerformerRef in interface WfRequester
Parameters:
a_PerformerRef -

receiveEvent

public void receiveEvent(Object event)
                  throws WTException
This operation is used by the associated WfProcess to notify its requester of workflow events. In particular the WfProcess must notify the requester of complete, terminate or abort events or the transition to a closed state.

Supported API: false

Specified by:
receiveEvent in interface WfRequester
Parameters:
event - WfProcess event; contains the source of the event.
Throws:
WTException

changeState

public WfExecutionObject changeState(WfTransition transition)
                              throws WTException
This method is used by containing process of application to force the process to undergo state changes. Returns the updated (and persisted) object. For example, changeState (WfTransition.START) causes the start of the process.

Supported API: false

Specified by:
changeState in interface WfRequester
Overrides:
changeState in class WfActivity
Parameters:
transition -
Returns:
WfExecutionObject
Throws:
WTException

getPerformer

public WfContainer getPerformer()
                         throws WTException
Returns the process associated with the requester.

Supported API: false

Specified by:
getPerformer in interface WfRequester
Returns:
WfContainer
Throws:
WTException

equals

public boolean equals(Object obj)
Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers. Changed or stale copies are still considered equal by this method. Delegates to PersistenceHelper.equals(Persistable,Object).

Warning: Certain core Windchill operations may depend upon equals being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
equals in class WfActivity
Parameters:
obj -
Returns:
boolean

hashCode

public int hashCode()
Returns a hash code for this object based upon its ObjectIdentifier. Delegates to PersistenceHelper.hashCode(Persistable).

Warning: Certain core Windchill operations may depend upon hashCode being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
hashCode in class WfActivity
Returns:
int

changeState

public WfExecutionObject changeState(WfTransition transition,
                                     boolean propagate)
                              throws WTException
Description copied from class: WfActivity
Updates the current state of the activity. Returns the updated (and persisted) object. A TransitionNotAllowed exception is thrown when the transition from the current state is not allowed. If propagate is 'false' event is not propagated to successor nodes.

Supported API: false

Overrides:
changeState in class WfActivity
Parameters:
transition -
propagate -
Returns:
WfExecutionObject
Throws:
WTException