|
Process Class Relationships | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--filenet.vw.api.VWPersistentCollection | +--filenet.vw.api.VWQueue
Use this class to access the contents of a queue. Specify which part of the queue contents you wish to access by the input of search criteria to parameters of the createQuery(). Use other methods to obtain specific information about a queue, like the queue depth and searchable fields.
The VWSession.getQueue() method creates an instance of the VWQueue class.
VWSession
,
VWQueueStats
,
VWQueueQuery
,
VWQueueDefinition
,
createQuery(java.lang.String, java.lang.Object[], java.lang.Object[], int, java.lang.String, java.lang.Object[], int)
Field Summary | |
static int |
QUERY_GET_NO_SYSTEM_FIELDS
Value of 1024. Include this value in the queryFlags parameter of the createQuery() method of the startQuery() method to return objects without system fields. |
static int |
QUERY_GET_NO_TRANSLATED_SYSTEM_FIELDS
Value of 2048. Include this value in the queryFlags parameter of the createQuery() method to return objects without translated fields. |
static int |
QUERY_GET_SYSTEM_FIELDS
Deprecated. Not replaced. This is the default. |
static int |
QUERY_GET_TRANSLATED_SYSTEM_FIELDS
Deprecated. Not replaced. This is the default. |
static int |
QUERY_LOCK_OBJECTS
Value of 16. Include this value in the queryFlags parameter of the createQuery() method to lock the work items returned from a search. |
static int |
QUERY_MAX_VALUES_INCLUSIVE
Value of 64. Include this value in the queryFlags parameter of the createQuery() method to include maximum search values. |
static int |
QUERY_MIN_VALUES_INCLUSIVE
Value of 32. Include this value in the queryFlags parameter of the createQuery() method to include minimum search values. |
static int |
QUERY_NO_OPTIONS
Value of 0. Pass this value as the queryFlags parameter of the createQuery() method to use the no search options option. |
static int |
QUERY_READ_BOUND
Value of 2. Include this value in the queryFlags parameter of the createQuery() method to return work items that are bound to a user or machine. |
static int |
QUERY_READ_LOCKED
Value of 1. Include this value in the queryFlags parameter of the createQuery() method to return locked and unlocked work items. |
static int |
QUERY_READ_UNWRITABLE
Value of 4. Include this value in the queryFlags parameter of the createQuery() method to return writable and unwritable work items. |
static int |
QUEUE_TYPE_PROCESS
Value of 1. This value is returned by the getQueueType() method to indicate that the queue is a process queue. |
static int |
QUEUE_TYPE_SYSTEM
Value of 3. This value is returned by the getQueueType method to indicate that the queue is a system queue. |
static int |
QUEUE_TYPE_USER_CENTRIC
Value of 2. This value is returned by the getQueueType method to indicate that the queue is a user queue. |
Method Summary | |
java.lang.String |
convertOperationIdToName(int theOperationId)
Converts an Operation ID to a name, using the name/ID pair in the current workspace. |
int |
convertOperationNameToId(java.lang.String theOperationName)
Converts an Operation name to an ID, using the name/ID pair in the current workspace. |
VWQueueQuery |
createQuery(java.lang.String indexName,
java.lang.Object[] minValues,
java.lang.Object[] maxValues,
int queryFlags,
java.lang.String filter,
java.lang.Object[] substitutionVars,
int fetchType)
Performs a filtered fetch of queue items. The filters specify search conditions flexibly and include setting a range for the search index. |
int |
fetchCount()
Gets the integer value indicating the queue depth. |
java.lang.String[] |
fetchIndexFields()
Deprecated. Replaced by fetchQueueDefinition() |
java.lang.String[] |
fetchIndexKeyFields(java.lang.String indexField)
Deprecated. Replaced by fetchQueueDefinition() |
java.lang.String[] |
fetchOperationNames()
Fetches the list of all the Operation names for this queue. |
VWQueueDefinition |
fetchQueueDefinition()
Fetches the definition for this queue. |
java.lang.String[] |
fetchQueueFields()
Deprecated. Replaced by fetchQueueDefinition() |
VWQueueStats |
fetchStatistics(java.util.Date startTime,
java.util.Date endTime,
int timeUnits)
Fetches statistical information for the queue, given a start and stop time. |
int |
getBufferSize()
Gets the maximum number of elements set by the user to return in a fetch. |
int |
getCount()
Deprecated. Replaced by fetchCount() |
boolean |
getIsConnectorQueue()
Determines whether or not this queue is a connector queue. |
int |
getQueueType()
Gets an integer value indicating the queue type. |
VWSession |
getServiceSession()
Identifies the session that instantiated the search object. |
void |
setBufferSize(int theNewSize)
Sets the maximum number of elements to return in a fetch. The default number is 50. |
VWQueueQuery |
startQuery(java.lang.String indexName,
java.lang.Object[] minValues,
java.lang.Object[] maxValues,
int queryFlags,
java.lang.String filter,
java.lang.Object[] substitutionVars)
Deprecated. Replaced by createQuery( String, Object[], Object[], int, String, Object[], int) .Note Differences between the use of createQuery() and the deprecated startQuery() method include the following:
|
java.lang.String |
toString()
Gets the string version of the queue name. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int QUERY_NO_OPTIONS
After passing this value, the returned work items are unlocked, unbound, and writable.
public static final int QUERY_READ_LOCKED
You can use this flag value in conjunction with other flag values. For example, QUERY_READ_LOCKED + QUERY_READ_BOUND returns work items that are locked and bound to a user or machine.
public static final int QUERY_READ_BOUND
public static final int QUERY_READ_UNWRITABLE
public static final int QUERY_LOCK_OBJECTS
The application locks any work item that meets search criteria. Do not set this flag value to leave unlocked work items unlocked, and avoid specifying QUERY_LOCK_OBJECTS + QUERY_READ_LOCKED.
public static final int QUERY_MIN_VALUES_INCLUSIVE
public static final int QUERY_MAX_VALUES_INCLUSIVE
public static final int QUERY_GET_SYSTEM_FIELDS
This value MUST be added to the queryFlags variable for this option to take effect with createQuery(), but it is included by default for startQuery().
Use the system fields for additional queries on objects. A method that requires translation returns a default value (null, 0, or false). Helper methods require the QUERY_GET_TRANSLATED_SYSTEM_FIELDS to function properly.
public static final int QUERY_GET_TRANSLATED_SYSTEM_FIELDS
public static final int QUERY_GET_NO_SYSTEM_FIELDS
System fields and translated system fields are used in the helper methods for each element. System fields and translated system field data will not be returned on the objects queried. A method that requires translation returns a default value (null, 0, or false) for this flag. This is because related Helper methods require the System fields and translated fields to function properly.
public static final int QUERY_GET_NO_TRANSLATED_SYSTEM_FIELDS
Translated system fields are used in the helper methods for each element. System fields and translated system field data will not be returned on the objects queried. A method that requires translation returns a default value (null, 0, or false) for this flag. This is because related Helper methods require the System fields and translated fields to function properly.
public static final int QUEUE_TYPE_PROCESS
public static final int QUEUE_TYPE_USER_CENTRIC
public static final int QUEUE_TYPE_SYSTEM
Method Detail |
public int getQueueType() throws VWException
VWException
- The method returns an exception if
the queue type cannot be determined.public int getCount() throws VWException
fetchCount()
VWException
- The method throws an exception if a
problem occurred while determining the queue depth.public int fetchCount() throws VWException
VWException
- The method throws an exception if a
problem occurred while determining the queue depth.public VWQueueQuery startQuery(java.lang.String indexName, java.lang.Object[] minValues, java.lang.Object[] maxValues, int queryFlags, java.lang.String filter, java.lang.Object[] substitutionVars) throws VWException
createQuery( String, Object[], Object[], int, String, Object[], int)
.VWQueueQuery.next()
and VWQueueQuery.hasNext()
,
emulating the Collection Model in Java 2.
Use the following to limit your search:
For this method to successfully return a VWQueueQuery object, a queue item must match all fetch criteria specified by the input parameters.
indexName
- The name of the database search index for the
queue. Enter either the name assigned to the index at the
Configuration Console (this may be a user-defined search field,
a system search field, or both) or a name that is a system search
field.
The standard system search fields for queues are listed below:
minValues
- An array of minimum values with which to compare the
index fields.
Array element data types must match the corresponding data types in the search index. If the number of minValues array elements is smaller than the number of search fields, the unmatched search fields are ignored. The array element types must be Java data types that correspond to Process Operation Parameter types.
In another example, the index named 'myIndex' is an integer, followed by a string, followed by a boolean, followed by a float, followed by a time-type value:
myIndex = integerA + stringB + booleanC + floatD + timeE
Set sample minimum values, against which to compare the index, as follows:
Object[] minValues = {new Integer(1000), "aardvark",
new Boolean(true), new Float(0012345678.369), new Time( [date&time value] )}
maxValues
- An array of maximum values with which to compare
the index fields.
Array element data types must match the corresponding data types in the search index. If the number of maxValues array elements is smaller than the number of search fields, the unmatched search fields are ignored. The array element types must be Java data types that correspond to Process Operation Parameter types.
queryFlags
- An integer value used to specify the search
option.
Setting this parameter refines the search for the work items
specified by the search index. Use | and + operators to combine
the options. See the Field Detail section for a description of
these query flags:
filter
- A string containing a SQL statement that specifies
a filter condition (for use with values input to the
substitutionVars parameter).
Use this parameter with the parameter settings for minValues, maxValues, and queryFlags to refine the search. Input a SQL WHERE clause that contains a search field name on the left side of a boolean operator and a substitution placeholder on the right side of the operator.
For example, if the filter input is similar to the following SQL statements:
integerA < :A AND stringB =:A
The above filter returns the object when it meets two conditions:
In the SQL statement, a colon (:) precedes each placeholder on the right side of the statement.
A search field must be a variable or a system or user-defined field. Use of the filter requires substitution of the placeholder to the right of each colon with a corresponding value you input to the substitutionVars parameter.
substitutionVars
- An array of objects that contain the
values to substitute for the variable names to the right of
the colons in the SQL statement you passed to the filter
parameter.
A substitution variable must begin with colon. If there is no variable in the filter parameter, the values for this parameter can be null. The array elements in this parameter substitute for the corresponding array elements in the filter parameter array. The filter parameter array elements act as place holders and must be substituted. For example, if three names are :A, a user needs three distinct substitution variables.
In another example, if you pass the following to the substitutionVars parameter:
{new Integer(1000),"Smith"}
this parameter, in combination with the example parameter for filter input, will pass an object through the filter only when the following condition is met by the object:
integerA < 1000 AND stringB = "Smith"
VWException
- Thrown if it cannot
create a VWQueueQuery object.public VWQueueQuery createQuery(java.lang.String indexName, java.lang.Object[] minValues, java.lang.Object[] maxValues, int queryFlags, java.lang.String filter, java.lang.Object[] substitutionVars, int fetchType) throws VWException
This method employs the following condition descriptors to define the filters:
For this method to successfully return a given queue item, the queue item must pass all the fetch criteria specified by the input parameters.
indexName
- The name of the database search index
for the queue. Enter either the name assigned to the index at the
Configuration Console or a system search field
name. The standard system search fields for queues are listed below:
minValues
- An array of objects containing the minimum
values with which to compare the index fields.
Array element data types must match the corresponding data types in the search index. If the number of minValues array elements is smaller than the number of search fields, the unmatched search fields are ignored. The array element types must be Java data types that correspond to Process Operation Parameter types.
Example the index named 'myIndex' is an integer, followed by a string, followed by a boolean, followed by a float, followed by a time-type value:
myIndex = integerA + stringB + booleanC + floatD + timeE
Set minimum values for comparison to the index as shown in the following sample code snippet:
Object[] minValues = {new Integer(1000), "aardvark",
new Boolean(true), new Float(0012345678.369), new Time( [date/time value] )}
maxValues
- An array of objects containing the maximum
values with which to compare the index fields.
Array element data types must match the corresponding data types in the search index. If the number of maxValues array elements is smaller than the number of search fields, the unmatched search fields are ignored. The array element types must be Java data types that correspond to Process Operation Parameter types.
queryFlags
- An integer value that specifies the search
options.
Setting this parameter refines the search for the work items specified by the search index. Use | and + operators to combine these options, which are described below:
filter
- A SQL WHERE clause that specifies a filter condition
that is defined with values input to the substitutionVars
parameter.
Use this parameter with the parameter settings for minValues, maxValues, and queryFlags to refine the search. The SQL WHERE clause should contain a search field name on the left side of a boolean operator and a substitution placeholder on the right side of the operator.
Example:
Consider the following SQL WHERE clause:
integerA < :A AND stringB =:B
This filter specifies that the object passes the filter if it meets two conditions:
The following usage tips summarize the use of this parameter:
substitutionVars
- An array of objects that contain the
values to substitute for the variable names to the right of
the colons in the SQL statement you passed to the filter
parameter.
In accordance with SQL expression rules, a substitution variable begins with a colon, and the name itself immediately follows the colon. If there is no such substitution variable in the filter parameter, the values for the substitutionVars parameter will be ignored and can be null. The array elements in this parameter substitute for the corresponding substitution variable elements in the filter parameter array.
The filter parameter array elements contain ordered values that are substituted in order into the corresponding SQL substitution variables, which act as ordered placeholders. For example, if three names are :A (the same), a user needs three distinct substitution variables, and the values are assigned according to the ordered correspondences between the values of the substitutionVars parameter and the occurence of SQL substitution variables in the filter parameter expression.
Example:
Suppose a substitutionVars parameter
is specifed the follows:
{new Integer(1000),"Smith"}
If this substitutionVars parameter accompanies the above example for the filter parameter input, the object has to meet the following conditions to pass the filter:
integerA < 1000 AND stringB = "Smith"
The line above is the result of the ordered substitution of substitutionVars values into the SQL filter expression found in the filter parameter.
fetchType
- An integer value associated with the
element type to be retrieved by using the object returned
by VWQueueQuery. Valid element type values are as follows:
VWQueueQuery.next()
method, similar
to use of the next() method of the Iterator interface in Java 2.
A user must have appropriate access privileges to the queue to fetch work items (using the FETCH_TYPE_WORKOBJECT fetchType) or queue elements (using the FETCH_TYPE_QUEUE_ELEMENT fetchType). However, users may fetch their own instruction elements or step elements, regardless of queue access privilege.
VWException
- public VWSession getServiceSession()
getServiceSession
in class filenet.vw.api.VWPersistentCollection
public VWQueueDefinition fetchQueueDefinition() throws VWException
VWException
- The method throws an exception if it
cannot fetch the definition for this queue.public java.lang.String[] fetchQueueFields() throws VWException
fetchQueueDefinition()
VWException
- The method throws an exception if it
cannot fetch the user-defined search fields for a specified
queue.public java.lang.String[] fetchIndexFields() throws VWException
fetchQueueDefinition()
VWException
- The method throws an exception if it
cannot Fetch the user-defined index names for a specified queue.public java.lang.String[] fetchIndexKeyFields(java.lang.String indexField) throws VWException
fetchQueueDefinition()
indexFieldName
- The name of
the user-defined search field (for example, F_WobNum,
F_SortRule, and F_Fifo are system fields.)VWException
- The method throws an exception if the
search field does not exist.public VWQueueStats fetchStatistics(java.util.Date startTime, java.util.Date endTime, int timeUnits) throws VWException
startTime
- A date value indicating the time to start gathering
statistics.endTime
- A date value indicating the time to stop gathering
statistics.timeUnits
- An integer value indicating the unit of time for
gathering statistics. Valid integer values for associated
with the time units are as follows:
VWException
- The method throws an exception if it
cannot instantiate VWQueueStats statistical results object.VWTimeUnitType.MINUTES
,
VWTimeUnitType.HOURS
,
VWTimeUnitType.DAYS
,
VWTimeUnitType.WEEKS
,
VWTimeUnitType.MONTHS
,
VWTimeUnitType.YEARS
public java.lang.String toString()
toString
in class java.lang.Object
public void setBufferSize(int theNewSize) throws VWException
newSize
- An integer value used to set maximum number
of elements to return in the fetch. The value must be greater
than zero (0).VWException
- The method throws an exception if the
buffer size specified in the theNewSize parameter is less
than or equal to zero (0).public int getBufferSize()
public int convertOperationNameToId(java.lang.String theOperationName) throws VWException
The application makes a remote procedure call (an RPC) if there was no previous server call to get Operation name/ID pairs. If no Operation name is found, the application makes another RPC to retrieve an updated list. If, after the second RPC, the application finds no Operation name, an exception occurs.
Results may be incorrect if the application has deleted Operations from the original Work Performer Class in the current workspace.
theOperationName
- The operation
name the workflow author configured for this queue.VWException
- The method throws an exception if
it cannot convert an Operation name to an ID.public java.lang.String convertOperationIdToName(int theOperationId) throws VWException
The application makes a remote procedure call (an RPC) if there was no previous server call to get Operation name. If no Operation name is found, the application makes another RPC to retrieve an updated list. If, after the second RPC, the application finds no Operation name, an exception occurs.
Results may be incorrect if the application has deleted Operations from the original Work Performer Class in the current workspace.
theOperationId
- An integer value for the Operation ID
associated with the queue.VWException
- Thrown if the application does not find the Operation
name or if it cannot convert an Operation ID to a name.public java.lang.String[] fetchOperationNames() throws VWException
VWException
- The method throws an exception if it
cannot fetch the list of all the Operation names for this queue.public boolean getIsConnectorQueue() throws VWException
true
indicates this
queue is a connector queue.VWException
-
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |