wt.queue
Class QueueEntry

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.fc.Item
          extended bywt.queue.WtQueueEntry
              extended bywt.queue.QueueEntry
All Implemented Interfaces:
AccessControlled, DisplayIdentification, DomainAdministered, Externalizable, Lockable, NetFactor, ObjectMappable, Persistable, Serializable

public class QueueEntry
extends WtQueueEntry
implements Lockable, Externalizable

The QueueEntry represents an individual processing request. Each queue entry is associated to a named processing queue and can be in one of the following states: READY, SUSPENDED, EXECUTING, COMPLETED and FAILED.

Use the newQueueEntry static factory method(s), not the QueueEntry 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: true

Extendable: false

See Also:
Serialized Form

Field Summary
private  Serializable args
           
static String ARGS_VECTOR
          Label for the attribute.
private  Vector argsVector
           
private static String CLASSNAME
           
private static boolean ENFORCE_SESSION_PRINCIPAL
           
static long EXTERNALIZATION_VERSION_UID
           
private  Lock lock
           
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.queue.WtQueueEntry
END_EXEC, ENTRY_NUMBER, ENTRY_OWNER, FAILURE_COUNT, QUEUE_REF, START_EXEC, STATUS_INFO, TARGET_CLASS, TARGET_METHOD
 
Fields inherited from class wt.fc.Item
VERSION_40_UID, VERSION_51_UID
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.locks.Lockable
LOCK, LOCK_DATE, LOCK_NOTE, LOCKED, LOCKER, LOCKER_EMAIL, LOCKER_FULL_NAME, LOCKER_NAME
 
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.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
QueueEntry()
           
 
Method Summary
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 StatusInfo execute()
          Executes the entry's processing request.
 Vector getArgs()
          Retained the getArgs/setArgs method to match with earlier api
private  Class[] getClassArray(Vector arg_vector)
           
 String getConceptualClassname()
          Deprecated.  
 String getDisplayString()
          

Supported API: true
 Lock getLock()
          Gets the object for the association that plays role: LOCK.
 Timestamp getLockDate()
          Gets the value of the attribute: LOCK_DATE.
 WTPrincipalReference getLocker()
          Gets the value of the attribute: LOCKER.
 String getLockerEMail()
          Gets the value of the attribute: LOCKER_EMAIL.
 String getLockerFullName()
          Gets the value of the attribute: LOCKER_FULL_NAME.
 String getLockerName()
          Gets the value of the attribute: LOCKER_NAME.
 String getLockNote()
          Gets the value of the attribute: LOCK_NOTE.
private  Object[] getObjectArray(Vector arg_vector)
           
 WTPrincipal getPrincipal()
          Returns the principal that owns the entry's execution.
 ProcessingQueue getQueue()
          Returns the queue to which the entry belongs.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
protected  void initialize(ProcessingQueue queue)
          Supports initialization, following construction of an instance.
 boolean isLocked()
          Gets the value of the attribute: LOCKED.
private  void lockValidate(Lock a_Lock)
           
static QueueEntry newQueueEntry(ProcessingQueue queue)
          Constructs a new entry representing a processing queue request.
 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(QueueEntry thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setArgs(Vector a_Args)
           
 void setLock(Lock a_Lock)
          Sets the object for the association that plays role: LOCK.
 void setStatus(String status_code)
          Sets the status code of the entry to passed as argument.
 String toString()
          Returns a string representation of the entry.
 void update()
          

Supported API: false
 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.queue.WtQueueEntry
convertFromByteArray, convertFromVector, getEndExec, getEntryNumber, getEntryOwner, getFailureCount, getQueueRef, getStartExec, getStatusInfo, getTargetClass, getTargetMethod, readVersion, setEndExec, setEntryNumber, setEntryOwner, setFailureCount, setQueueRef, setStartExec, setStatusInfo, setTargetClass, setTargetMethod
 
Methods inherited from class wt.fc.Item
getDomainRef, initialize, isInheritedDomain, readVersion, setDomainRef, setInheritedDomain
 
Methods inherited from class wt.fc.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getIdentity, 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, getIdentity, 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

args

private Serializable args

ARGS_VECTOR

public static final String ARGS_VECTOR
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

argsVector

private transient Vector argsVector

lock

private Lock lock

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 boolean VERBOSE

ENFORCE_SESSION_PRINCIPAL

private static boolean ENFORCE_SESSION_PRINCIPAL
Constructor Detail

QueueEntry

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

readVersion

protected boolean readVersion(QueueEntry 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 WtQueueEntry
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 WtQueueEntry
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

newQueueEntry

public static QueueEntry newQueueEntry(ProcessingQueue queue)
                                throws WTException
Constructs a new entry representing a processing queue request.

Supported API: true

Parameters:
queue -
Returns:
QueueEntry
Throws:
WTException

initialize

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

Supported API: true

Parameters:
queue -
Throws:
WTException

execute

public StatusInfo execute()
                   throws WTException
Executes the entry's processing request. Assumes the identity of the entry's principal for the execution.

Supported API: true

Overrides:
execute in class WtQueueEntry
Returns:
StatusInfo
Throws:
WTException

toString

public String toString()
Returns a string representation of the entry.

Supported API: true

Overrides:
toString in class WtQueueEntry
Returns:
String

getPrincipal

public WTPrincipal getPrincipal()
                         throws WTException
Returns the principal that owns the entry's execution. The access control for execution will be enforced relative to this principal.

Supported API: true

Overrides:
getPrincipal in class WtQueueEntry
Returns:
WTPrincipal
Throws:
WTException

setStatus

public void setStatus(String status_code)
               throws WTException
Sets the status code of the entry to passed as argument. The only statuses allowed are READY and SUSPENDED. The message is set to "Status set by operator." (it is defined in the resource bundle of the package.

Supported API: true

Overrides:
setStatus in class WtQueueEntry
Parameters:
status_code -
Throws:
WTException

getQueue

public ProcessingQueue getQueue()
                         throws WTException
Returns the queue to which the entry belongs.

Supported API: true

Returns:
ProcessingQueue
Throws:
WTException

getDisplayString

public String getDisplayString()


Supported API: true

Overrides:
getDisplayString in class WtQueueEntry
Returns:
String

update

public void update()
            throws WTException


Supported API: false

Throws:
WTException

isLocked

public boolean isLocked()
Gets the value of the attribute: LOCKED. Derived attribute for displaying the isSeized value in query results.

Supported API: false

Specified by:
isLocked in interface Lockable
Returns:
boolean

getLockDate

public Timestamp getLockDate()
Gets the value of the attribute: LOCK_DATE. Derived attribute for displaying the lock date value in query results.

Supported API: false

Specified by:
getLockDate in interface Lockable
Returns:
Timestamp

getLockNote

public String getLockNote()
Gets the value of the attribute: LOCK_NOTE. Derived attribute for displaying the lock note value in query results.

Supported API: false

Specified by:
getLockNote in interface Lockable
Returns:
String

getLocker

public WTPrincipalReference getLocker()
Gets the value of the attribute: LOCKER. Derived attribute for querying for the locker.

Supported API: false

Specified by:
getLocker in interface Lockable
Returns:
WTPrincipalReference

getLockerEMail

public String getLockerEMail()
Gets the value of the attribute: LOCKER_EMAIL. Derived attribute for displaying the locker E-Mail value in query results.

Supported API: false

Specified by:
getLockerEMail in interface Lockable
Returns:
String

getLockerName

public String getLockerName()
Gets the value of the attribute: LOCKER_NAME. Derived attribute for displaying the locker name value in query results.

Supported API: false

Specified by:
getLockerName in interface Lockable
Returns:
String

getLockerFullName

public String getLockerFullName()
Gets the value of the attribute: LOCKER_FULL_NAME. Derived attribute for displaying the lock fullname value in query results.

Supported API: false

Specified by:
getLockerFullName in interface Lockable
Returns:
String

getLock

public Lock getLock()
Gets the object for the association that plays role: LOCK. The lock mechanism/cookie aggregated in any business object that asserts itself as being lockable.

Supported API: false

Specified by:
getLock in interface Lockable
Returns:
Lock
See Also:
Lock

setLock

public void setLock(Lock a_Lock)
             throws WTPropertyVetoException
Sets the object for the association that plays role: LOCK. The lock mechanism/cookie aggregated in any business object that asserts itself as being lockable.

Supported API: false

Specified by:
setLock in interface Lockable
Parameters:
a_Lock -
Throws:
WTPropertyVetoException
See Also:
Lock

lockValidate

private void lockValidate(Lock a_Lock)
                   throws WTPropertyVetoException
Parameters:
a_Lock -
Throws:
WTPropertyVetoException

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 WtQueueEntry
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 WtQueueEntry
Returns:
int

getArgs

public Vector getArgs()
Retained the getArgs/setArgs method to match with earlier api


setArgs

public void setArgs(Vector a_Args)

getClassArray

private Class[] getClassArray(Vector arg_vector)

getObjectArray

private Object[] getObjectArray(Vector arg_vector)