com.wm.app.tn.db
Class ComplexDocQuery

java.lang.Object
  extended by com.wm.app.tn.db.Query
      extended by com.wm.app.tn.db.SimpleDocQuery
          extended by com.wm.app.tn.db.ComplexDocQuery
All Implemented Interfaces:
com.wm.data.IData

public class ComplexDocQuery
extends SimpleDocQuery

ComplexDocQueries can select documents based on values of custom attributes, as well as the basic envelope attributes. In addition, they can generate SQL in a special "aggregating mode", which generates summary information for the client.


Field Summary
 
Fields inherited from class com.wm.app.tn.db.SimpleDocQuery
COMMENTS, CONVID, GROUPID, INTERNALID, MSGTYPE, NATIVEID, RECEIVERCORP, RECEIVERPROFILEGROUP, RECVRID, SENDERCORP, SENDERID, SENDERPROFILEGROUP, STATSYS, STATUSR, TASKSTATUS, TIMESTAMP, TYPENAME
 
Fields inherited from class com.wm.app.tn.db.Query
ACTLOG_EVENT_TIMESTAMP, BDTYPE_LASTMODIFIED, DJOB_TIME_CREATED, DJOB_TIME_UPDATED, DOC_TIMESTAMP, FN_AVG, FN_MAX, FN_MIN, FN_SUM, OP_COMP_AFTER, OP_COMP_BEFORE, OP_COMP_CONTAINS, OP_COMP_EQ, OP_COMP_GEQ, OP_COMP_GT, OP_COMP_INCLUDES, OP_COMP_LEQ, OP_COMP_LT, OP_COMP_NEQ, OP_TEST_NOT_NULL, OP_TEST_NULL, TIME_ANYTIME, TIME_CUSTOM, TIME_LAST_7_DAYS, TIME_LAST_MONTH, TIME_LAST_WEEK, TIME_NEXT_10_MIN, TIME_NEXT_12_HOURS, TIME_NEXT_24_HOURS, TIME_NEXT_3_HOURS, TIME_NEXT_30_MIN, TIME_NEXT_6_HOURS, TIME_NEXT_HOUR, TIME_THIS_MONTH, TIME_THIS_WEEK, TIME_TODAY, TIME_TOMORROW, TIME_YESTERDAY, TIME_YTD, TPA_CREATED, TPA_LASTMODIFIED, TYPE_DATE, TYPE_NUMBER, TYPE_STRING
 
Constructor Summary
ComplexDocQuery()
          Create a ComplexDocQuery.
 
Method Summary
 void clearAttributeQueries()
          Clear all the attribute subqueries associated with this query.
 void clearAttributeQuery(int idx)
          Clear an attribute subquery by index.
static com.wm.data.IData create()
          For internal use only
 java.lang.String[] getAggregatingInfo()
          For internal use only
 java.lang.String[] getAttributeQuery(int idx)
          Return information about the specified query.
 java.lang.String[] getShownAttributes()
           
 java.util.Enumeration getVisibleColumns(boolean agg)
          For internal use only
 void hideAttribute(BizDocAttribute attrib)
          Hides a particular attribute.
static void main(java.lang.String[] args)
           
 void preSql()
          For internal use only
 void setAggregatingInfo(java.lang.String pid)
          For internal use only
 void setAggregatingInfo(java.lang.String pid, BizDocAttribute attrib, java.lang.String func)
          For internal use only
 void setAttributeQuery(int idx, BizDocAttribute attrib, java.lang.String op, java.lang.String val)
          Associate an attribute subquery with this query.
 void setAttributeQuery(int idx, BizDocAttribute attrib, java.lang.String op, java.lang.String val, java.lang.String isORQuery)
           
 void setSortColumn(BizDocAttribute att, boolean asc)
          Sort by an attribute column
 void showAttribute(BizDocAttribute attrib)
          Shows a particular attribute
 java.lang.String toAggregatingSql()
          For internal use only
 java.lang.String toSql(boolean agg)
          For internal use only
 
Methods inherited from class com.wm.app.tn.db.SimpleDocQuery
clearSortColumn, clearSortColumns, getComments, getConversationId, getCursor, getDocumentId, getGroupId, getHashCursor, getIndexCursor, getInternalId, getMessageType, getReceiver, getReceiverProfileGroup, getRoutingStatus, getSender, getSenderProfileGroup, getSharedCursor, getSortColumn, getSortColumns, getTaskStatus, getTimeInterval, getTimeIntervalType, getTreeCursor, getUserStatus, isCommentsVisible, isConversationIdVisible, isDocumentIdVisible, isGroupIdVisible, isMessageTypeVisible, isReceiverProfileGroupVisible, isReceiverVisible, isRoutingStatusVisible, isSenderProfileGroupVisible, isSenderVisible, isSortAscending, isTaskStatusVisible, isTimestampVisible, isUserStatusVisible, setComments, setComments, setCommentsVisible, setConversationId, setConversationId, setConversationIdVisible, setDaysAgo, setDocumentId, setDocumentId, setDocumentIdVisible, setGroupId, setGroupId, setGroupIdVisible, setInternalId, setInternalId, setMessageType, setMessageType, setMessageType, setMessageTypeVisible, setReceiver, setReceiver, setReceiver, setReceiver, setReceiverProfileGroup, setReceiverProfileGroupVisible, setReceiverVisible, setRecevierProfileGroup, setRoutingStatus, setRoutingStatus, setRoutingStatus, setRoutingStatusVisible, setSender, setSender, setSender, setSender, setSenderProfileGroup, setSenderProfileGroup, setSenderProfileGroupVisible, setSenderVisible, setSortColumn, setSortColumns, setTaskStatus, setTaskStatus, setTaskStatusVisible, setTimeInterval, setTimeInterval, setTimestampVisible, setUserStatus, setUserStatus, setUserStatusVisible, toSql, toString
 
Methods inherited from class com.wm.app.tn.db.Query
beginningOfDay, escapeString, evaluate, evaluateListConditions, generateClause, generateClause, generateColumnList, generateComp, generateComp, generateComp, generateListComp, generateNumericClause, generateStringLit, generateStringLit, generateTimeInterval, generateTimestampLiteral, getIntervalType, getUnique, isDateTime, isDistinct, isIndentSql, isOR, searchMWS, setDistinct, setIndentSql, setOR, setViewPermission
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ComplexDocQuery

public ComplexDocQuery()
Create a ComplexDocQuery. The default query is
SELECT * FROM BizDoc

Method Detail

setAttributeQuery

public void setAttributeQuery(int idx,
                              BizDocAttribute attrib,
                              java.lang.String op,
                              java.lang.String val)
Associate an attribute subquery with this query.

Parameters:
idx - the index of this subquery: this is necessary because you can have multiple conditions on the same attribute
attrib - the attribute being queried
op - the operation to use (see the OP_* constants in Query)
val - the value to use for the query

setAttributeQuery

public void setAttributeQuery(int idx,
                              BizDocAttribute attrib,
                              java.lang.String op,
                              java.lang.String val,
                              java.lang.String isORQuery)

getAttributeQuery

public java.lang.String[] getAttributeQuery(int idx)
Return information about the specified query.

Parameters:
idx - the index of the subquery
Returns:
information about this subquery: null if it's not defined, { attrib_id, op, val } if it is

clearAttributeQueries

public void clearAttributeQueries()
Clear all the attribute subqueries associated with this query.


clearAttributeQuery

public void clearAttributeQuery(int idx)
Clear an attribute subquery by index. This only clears that index.

Parameters:
idx - the index of this subquery

hideAttribute

public void hideAttribute(BizDocAttribute attrib)
Hides a particular attribute.

Parameters:
attrib - the attribute to hide

showAttribute

public void showAttribute(BizDocAttribute attrib)
Shows a particular attribute

Parameters:
attrib - the attribute to show

getShownAttributes

public java.lang.String[] getShownAttributes()
Returns:
a list of IDs of attributes which are shown by this query

setSortColumn

public void setSortColumn(BizDocAttribute att,
                          boolean asc)
Sort by an attribute column


setAggregatingInfo

public void setAggregatingInfo(java.lang.String pid)
For internal use only


setAggregatingInfo

public void setAggregatingInfo(java.lang.String pid,
                               BizDocAttribute attrib,
                               java.lang.String func)
For internal use only


getAggregatingInfo

public java.lang.String[] getAggregatingInfo()
For internal use only


toAggregatingSql

public java.lang.String toAggregatingSql()
For internal use only


toSql

public java.lang.String toSql(boolean agg)
For internal use only

Overrides:
toSql in class SimpleDocQuery

preSql

public void preSql()
For internal use only

Overrides:
preSql in class SimpleDocQuery

getVisibleColumns

public java.util.Enumeration getVisibleColumns(boolean agg)
For internal use only

Overrides:
getVisibleColumns in class SimpleDocQuery

create

public static com.wm.data.IData create()
For internal use only


main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception