wt.workflow.engine
Class WfBlock

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.enterprise.Simple
          extended bywt.workflow.engine.WfExecutionObject
              extended bywt.workflow.engine.WfContainer
                  extended bywt.workflow.engine.WfBlock
All Implemented Interfaces:
AccessControlled, BusinessInformation, DisplayIdentification, DomainAdministered, Externalizable, NetFactor, Notifiable, ObjectMappable, Persistable, RecentlyVisited, Serializable, WTContained
Direct Known Subclasses:
SummaryActivity

public class WfBlock
extends WfContainer
implements Externalizable

The WfBlock class supports the execution of blocks. This class extends WfProcess. Its main purpose is to direct input/output from the containing activities to the host process. It also prevents the block to be placed in a folder.

The instantiation of a block template generates a WfRequesterActivity and a WfBlock in a way similar to normal embedded processes. The main differences are the following:

Blocks are named using the same conventions as processes. A state is maintained and timing is kept (start, end, suspend and alert).

Use the newWfBlock static factory method(s), not the WfBlock 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 static String RESOURCE
           
(package private) static long serialVersionUID
           
private static boolean VERBOSE
           
 
Fields inherited from class wt.workflow.engine.WfContainer
REQUESTER_REF
 
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.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
WfBlock()
           
 
Method Summary
 WfExecutionObject changeState(WfTransition transition)
          Changes block state.
protected  void computeDeadline(long now)
          

Supported API: false
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 boolean evaluateBlockExpression()
          Evaluates expression associated with the block.
 String getConceptualClassname()
          Deprecated.  
 ProcessData getContext()
          Retuns parent process' variables.
 WTPrincipalReference getCreator()
          Returns parent process' creator.
 WfEventConfiguration getEventConfiguration()
          Retuns parent process' event configuration.
 long getKey()
          Retuns parent process' key value.
 WfProcess getParentProcess()
          Returns the innermost process that contains block.
 WfProcess getParentProcessReadOnly()
           
 long getPriority()
          Returns parent process' priority.
 ObjectReference getProjectRef()
          Returns parent process' project reference.
 TeamReference getTeamId()
          Returns parent process' team reference.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
protected  void initialize(WTContainerRef context_ref)
          Supports initialization, following construction of an instance.
 boolean isIterated()
          Returns true is block is iterated; false otherwise.
static WfBlock newWfBlock()
          Deprecated. blocks created with this constructor end up in the classic container. Use instead constructor that takes reference to context as argument.
static WfBlock newWfBlock(WTContainerRef context_ref)
          

Supported API: false
 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(WfBlock thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void resetValues()
          Overrides WfExecutionObject resetValues to do just nothing.
 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.WfContainer
abortContainedActivities, getContainerNodes, getRequester, getRequesterRef, getStartConnector, readVersion, resetContainedActivities, resumeContainedActivities, sendEventToRequester, setRequesterRef, suspendContainedActivities, terminateContainedActivities
 
Methods inherited from class wt.workflow.engine.WfExecutionObject
calculateTimePastDeadline, calculateTimeToDeadline, changeDeadline, changeStateAttributes, computeTimePastDeadline, computeTimeToDeadline, evaluateExpression, getAdSQEN, getAlertTime, getChangeStateTime, getContainer, getContainerName, getContainerReference, getDeadline, getDeadlineDuration, getDescription, getDSQEN, getEndTime, getIdentity, getName, getPdSQEN, getStartTime, getState, getSuspendTime, getTemplate, getTimePastDeadline, getTimeToDeadline, getTimeToStart, getVarDueDate, getVarDuration, getVarNotification, initialize, isOverdue, readVersion, removeDeadlineQueueEntries, setAdSQEN, setAlertTime, setChangeStateTime, setContainer, setContainerReference, setContext, 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

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

WfBlock

public WfBlock()
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 WfContainer
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 WfContainer
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(WfBlock 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 WfContainer
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 WfContainer
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

changeState

public WfExecutionObject changeState(WfTransition transition)
                              throws WTException
Changes block state.

Supported API: false

Specified by:
changeState in class WfExecutionObject
Parameters:
transition -
Returns:
WfExecutionObject
Throws:
WTException

getCreator

public WTPrincipalReference getCreator()
Returns parent process' creator.

Supported API: false

Overrides:
getCreator in class WfContainer
Returns:
WTPrincipalReference

getProjectRef

public ObjectReference getProjectRef()
Returns parent process' project reference.

Supported API: false

Specified by:
getProjectRef in class WfContainer
Returns:
ObjectReference

getPriority

public long getPriority()
Returns parent process' priority.

Supported API: false

Overrides:
getPriority in class WfExecutionObject
Returns:
long

getContext

public ProcessData getContext()
Retuns parent process' variables.

Supported API: false

Overrides:
getContext in class WfExecutionObject
Returns:
ProcessData

getEventConfiguration

public WfEventConfiguration getEventConfiguration()
Retuns parent process' event configuration.

Supported API: false

Overrides:
getEventConfiguration in class WfExecutionObject
Returns:
WfEventConfiguration

getKey

public long getKey()
Retuns parent process' key value.

Supported API: false

Overrides:
getKey in class WfExecutionObject
Returns:
long

evaluateBlockExpression

public boolean evaluateBlockExpression()
                                throws WTException
Evaluates expression associated with the block. Returns true is the block must be executed again; false otherwise.

Supported API: false

Returns:
boolean
Throws:
WTException

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 WfExecutionObject
Returns:
String

isIterated

public boolean isIterated()
                   throws WTException
Returns true is block is iterated; false otherwise. A block is iterated if and only if it has an associated block expression.

Supported API: false

Returns:
boolean
Throws:
WTException

resetValues

public void resetValues()
                 throws WTException
Overrides WfExecutionObject resetValues to do just nothing.

Supported API: false

Overrides:
resetValues in class WfExecutionObject
Throws:
WTException

computeDeadline

protected void computeDeadline(long now)
                        throws WTException


Supported API: false

Specified by:
computeDeadline in class WfExecutionObject
Parameters:
now -
Throws:
WTException

getParentProcess

public WfProcess getParentProcess()
                           throws WTException
Returns the innermost process that contains block.

Supported API: false

Returns:
WfProcess
Throws:
WTException

getTeamId

public TeamReference getTeamId()
Returns parent process' team reference.

Supported API: false

Specified by:
getTeamId in class WfContainer
Returns:
TeamReference

newWfBlock

public static WfBlock newWfBlock()
                          throws WTException
Deprecated. blocks created with this constructor end up in the classic container. Use instead constructor that takes reference to context as argument.



Supported API: false

Returns:
WfBlock
Throws:
WTException

newWfBlock

public static WfBlock newWfBlock(WTContainerRef context_ref)
                          throws WTException


Supported API: false

Parameters:
context_ref -
Returns:
WfBlock
Throws:
WTException

initialize

protected void initialize(WTContainerRef context_ref)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Overrides:
initialize in class WfExecutionObject
Parameters:
context_ref -
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 WfContainer
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 WfContainer
Returns:
int

getParentProcessReadOnly

public WfProcess getParentProcessReadOnly()
                                   throws WTException
Throws:
WTException