|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.unica.publicapi.plan.api.Handle
public class Handle
Handle is a special kind of URL object that refers to a particular object in a particular Plan instance.
Handles generally include the component type, internal data identifier, an instance base URL, etc. Handles used or generated by the API may be externalized to a full URL that can be used to navigate to a view of the component in the Plan GUI, be cut-and-pasted, sent in emails, used in another procedure as a parameter, etc.
Handles are only valid for a particular Plan service instance—or clustered instance—but are guaranteed valid for the life time of the deployed service. This means that handles can be saved in a file for later reference, but that they can’t be used to access components on another Plan instance (even if on the same machine). A mechanism is provided for mapping different base URLs to the current instance to accommodate relocating a instance to another machine (e.g., the original machine is dead).
Finally, handles are client-independent. For example, a trigger may pass a handle to a procedure, which uses it as a parameter to a SOAP call to a 3rd-party system, which turns around and issues a SOAP request back to Plan to invoke a procedure that updates an attribute.
Examples:
Project: http://mymachine:7001/plan/affiniumplan.jsp?cat=projecttabs&projectid=1234 Project Request: http://mymachine:7001/plan/affiniumplan.jsp?cat=projecttabs&projectid=1234 Marketing Object http://mymachine:7001/plan/affiniumplan.jsp?cat=componenttabs&componentid=creatives&componentinstid=1234 Workflow stage: http://mymachine:7001/plan/affiniumplan.jsp?cat=projectworkflow&projectid=1234&taskid=5678 Workflow task: http://mymachine:7001/plan/affiniumplan.jsp?cat=projectworkflow&projectid=1234&taskid=5678 Project grid: http://mymachine:7001/plan/affiniumplan.jsp?cat=projecttabs&projectid=1234&gridid=grid Project grid row: http://mymachine:7001/plan/affiniumplan.jsp?cat=projecttabs&projectid=1234&gridid=grid&gridrowid=101 Marketing Object grid http://mymachine:7001/plan/affiniumplan.jsp?cat=componenttabs&componentid=creatives&componentinstid=1234&gridid=grid Marketing Object grid row http://mymachine:7001/plan/affiniumplan.jsp?cat=componenttabs&componentid=creatives&componentinstid=1234&gridid=grid&gridrowid=101 Approval Object http://mymachine:7001/plan/affiniumplan.jsp?cat=approvaldetail&approvalid=101 User Object: http://mymachine:7001/plan/affiniumplan.jsp?cat=adminuserpermissions&func=edit&userId=101 Team Object: http://mychane:7001/plan/affiniumplan.jsp?cat=teamdetails&func=edit&teamid=100001 Attachment Object: http://mychane:7001/plan/affiniumplan.jsp?cat=attachmentview&attachid=101&parentObjectId=101&parentObjectType=project AssetLibrary Object: http://localhost:7001/plan/affiniumplan.jsp?cat=library&id=101 Asset Object: http://localhost:7001/plan/affiniumplan.jsp?cat=asset&assetMode=VIEW_ASSET&assetid=101 Asset Folder Object: http://localhost:7001/plan/affiniumplan.jsp?cat=folder&id=101 Financial Account Object: http://localhost:7001/plan/affiniumplan.jsp?cat=accountdetails&accountid=101 Invoice Object: http://localhost:7001/plan/affiniumplan.jsp?cat=invoicedetails&invoiceid=134 Invoice line item object: http://localhost:7001/plan/affiniumplan.jsp?cat=invoicedetails&invoiceid=134&line_item_id=101 Project Line Item Object: http://localhost:7001/plan/affiniumplan.jsp?cat=projecttabs&projectid=1234&projectlineitemid=123&projectlineitemisversionfinal=false Folder http://mymachine:7001/plan/affiniumplan.jsp?cat=grouping_folder&folderid=1234
Field Summary | |
---|---|
private java.net.URL |
_baseURL
|
private int |
_componentId
ComponentId property |
private ComponentTypeEnum |
_componentTypeEnum
ComponentTypeEnum property. |
private java.lang.String[] |
_extensions
|
protected static java.lang.String |
APPROVAL_CATEGORY
|
protected static java.lang.String |
APPROVAL_ID
|
protected static java.lang.String |
APPROVAL_QUERY
|
protected static java.lang.String |
ASSET_CATEGORY
|
protected static java.lang.String |
ASSET_FOLDER_CATEGORY
|
protected static java.lang.String |
ASSET_FOLDER_ID
|
protected static java.lang.String |
ASSET_FOLDER_QUERY
|
protected static java.lang.String |
ASSET_ID
|
protected static java.lang.String |
ASSET_LIBRARY_CATEGORY
|
protected static java.lang.String |
ASSET_LIBRARY_ID
|
protected static java.lang.String |
ASSET_LIBRARY_QUERY
|
protected static java.lang.String |
ASSET_MODE
|
protected static java.lang.String |
ASSET_MODE_VALUE
|
protected static java.lang.String |
ASSET_QUERY
|
protected static java.lang.String |
ATTACHMENT_CATEGORY
|
protected static java.lang.String |
ATTACHMENT_ID
|
protected static java.lang.String |
ATTACHMENT_PARENT_OBJECT_ID
|
protected static java.lang.String |
ATTACHMENT_PARENT_OBJECT_TYPE
|
protected static java.lang.String |
ATTACHMENT_QUERY
|
protected static java.lang.String |
FINANCIAL_ACCOUNT_CATEGORY
|
protected static java.lang.String |
FINANCIAL_ACCOUNT_ID
|
protected static java.lang.String |
FINANCIAL_ACCOUNT_QUERY
|
protected static java.lang.String |
GRID_ID
|
protected static java.lang.String |
GRID_ROW_ID
|
protected static java.lang.String |
INVOICE_CATEGORY
|
protected static java.lang.String |
INVOICE_ID
|
protected static java.lang.String |
INVOICE_LINE_ITEM_ID
|
protected static java.lang.String |
INVOICE_LINE_ITEM_QUERY
|
protected static java.lang.String |
INVOICE_QUERY
|
protected static java.lang.String |
MO_CATEGORY
|
protected static java.lang.String |
MO_GRID_QUERY
|
protected static java.lang.String |
MO_GRID_ROW_QUERY
|
protected static java.lang.String |
MO_ID
|
protected static java.lang.String |
MO_QUERY
|
protected static java.lang.String |
MO_TYPE
|
protected static java.lang.String |
PLAN_JSP
|
protected static java.lang.String |
PROJECT_CATEGORY
|
protected static java.lang.String |
PROJECT_GRID_QUERY
|
protected static java.lang.String |
PROJECT_GRID_ROW_QUERY
|
protected static java.lang.String |
PROJECT_ID
|
protected static java.lang.String |
PROJECT_LINE_ITEM_ID
|
protected static java.lang.String |
PROJECT_LINE_ITEM_IS_VERSION_FINAL
|
protected static java.lang.String |
PROJECT_LINE_ITEM_QUERY
|
protected static java.lang.String |
PROJECT_QUERY
|
protected static java.lang.String |
TASK_CATEGORY
|
protected static java.lang.String |
TASK_ID
|
protected static java.lang.String |
TASK_QUERY
|
protected static java.lang.String |
TEAM_CATEGORY
|
protected static java.lang.String |
TEAM_FUNC
|
protected static java.lang.String |
TEAM_ID
|
protected static java.lang.String |
TEAM_QUERY
|
protected static java.lang.String |
USER_CATEGORY
|
protected static java.lang.String |
USER_FUNC
|
protected static java.lang.String |
USER_ID
|
protected static java.lang.String |
USER_QUERY
|
Constructor Summary | |
---|---|
protected |
Handle(java.net.URL baseURL,
ComponentTypeEnum componentTypeEnum,
int componentId)
|
protected |
Handle(java.net.URL baseURL,
ComponentTypeEnum componentTypeEnum,
int componentId,
java.lang.String[] extensions)
|
Method Summary | |
---|---|
boolean |
equals(java.lang.Object object)
|
private static int |
extractComponentId(ComponentTypeEnum componentTypeEnum,
java.lang.String query)
|
private static ComponentTypeEnum |
extractComponentTypeEnum(java.lang.String query)
|
java.net.URL |
getBaseURL()
|
int |
getComponentId()
|
ComponentTypeEnum |
getComponentTypeEnum()
|
java.lang.String[] |
getExtensions()
|
private static java.lang.String |
getQueryInfo(java.lang.String query,
java.lang.String key)
|
java.net.URL |
getURL()
|
int |
hashCode()
|
static Handle |
makeHandle(java.lang.String urlSpec)
Factory method to make a handle from the specified URL specification. |
static Handle |
makeHandle(java.net.URL url)
|
static Handle |
makeHandleForTrigger(java.lang.String planURL,
java.lang.String parentTypeName,
int parentId,
java.lang.String contextTypeName,
int contextId,
java.lang.String gridId)
EXPERIMENTAL!!! Factory method to make a handle from the specified Object type and id |
java.lang.String |
toExternalForm()
|
java.lang.String |
toString()
|
private static int |
validateComponentId(int id)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.String PLAN_JSP
protected static final java.lang.String PROJECT_CATEGORY
protected static final java.lang.String PROJECT_ID
protected static final java.lang.String PROJECT_QUERY
protected static final java.lang.String PROJECT_LINE_ITEM_ID
protected static final java.lang.String PROJECT_LINE_ITEM_IS_VERSION_FINAL
protected static final java.lang.String PROJECT_LINE_ITEM_QUERY
protected static final java.lang.String TASK_CATEGORY
protected static final java.lang.String TASK_ID
protected static final java.lang.String TASK_QUERY
protected static final java.lang.String MO_CATEGORY
protected static final java.lang.String MO_TYPE
protected static final java.lang.String MO_ID
protected static final java.lang.String MO_QUERY
protected static final java.lang.String GRID_ID
protected static final java.lang.String GRID_ROW_ID
protected static final java.lang.String PROJECT_GRID_QUERY
protected static final java.lang.String PROJECT_GRID_ROW_QUERY
protected static final java.lang.String MO_GRID_QUERY
protected static final java.lang.String MO_GRID_ROW_QUERY
protected static final java.lang.String USER_CATEGORY
protected static final java.lang.String USER_ID
protected static final java.lang.String USER_FUNC
protected static final java.lang.String USER_QUERY
protected static final java.lang.String TEAM_CATEGORY
protected static final java.lang.String TEAM_ID
protected static final java.lang.String TEAM_FUNC
protected static final java.lang.String TEAM_QUERY
protected static final java.lang.String APPROVAL_CATEGORY
protected static final java.lang.String APPROVAL_ID
protected static final java.lang.String APPROVAL_QUERY
protected static final java.lang.String ATTACHMENT_CATEGORY
protected static final java.lang.String ATTACHMENT_ID
protected static final java.lang.String ATTACHMENT_PARENT_OBJECT_ID
protected static final java.lang.String ATTACHMENT_PARENT_OBJECT_TYPE
protected static final java.lang.String ATTACHMENT_QUERY
protected static final java.lang.String ASSET_LIBRARY_CATEGORY
protected static final java.lang.String ASSET_LIBRARY_ID
protected static final java.lang.String ASSET_LIBRARY_QUERY
protected static final java.lang.String ASSET_CATEGORY
protected static final java.lang.String ASSET_MODE
protected static final java.lang.String ASSET_ID
protected static final java.lang.String ASSET_MODE_VALUE
protected static final java.lang.String ASSET_QUERY
protected static final java.lang.String ASSET_FOLDER_CATEGORY
protected static final java.lang.String ASSET_FOLDER_ID
protected static final java.lang.String ASSET_FOLDER_QUERY
protected static final java.lang.String FINANCIAL_ACCOUNT_CATEGORY
protected static final java.lang.String FINANCIAL_ACCOUNT_ID
protected static final java.lang.String FINANCIAL_ACCOUNT_QUERY
protected static final java.lang.String INVOICE_CATEGORY
protected static final java.lang.String INVOICE_ID
protected static final java.lang.String INVOICE_QUERY
protected static final java.lang.String INVOICE_LINE_ITEM_ID
protected static final java.lang.String INVOICE_LINE_ITEM_QUERY
private java.net.URL _baseURL
private ComponentTypeEnum _componentTypeEnum
Defines the type of component the handle refers to, e.g., a project or a marketing object.
private int _componentId
Integer identifier for the component (usually a database id)
private java.lang.String[] _extensions
Constructor Detail |
---|
protected Handle(java.net.URL baseURL, ComponentTypeEnum componentTypeEnum, int componentId)
protected Handle(java.net.URL baseURL, ComponentTypeEnum componentTypeEnum, int componentId, java.lang.String[] extensions)
Method Detail |
---|
public static Handle makeHandle(java.lang.String urlSpec)
This method will parse the spec and create the appropriate derived class, e.g.,
http://mymachine:7001/plan/affiniumplan.jsp?cat=projecttabs&projectid=1234
will result in a ProjectHandle being created and returned.
urlSpec
- URL specification to parse
java.lang.IllegalArgumentException
- if the URL specification is invalid, or
one or more required parts are left out or incorrect.ProjectHandle
,
ProjectGridHandle
,
ProjectGridRowHandle
,
WorkflowTaskHandle
,
MarketingObjectHandle
,
MarketingObjectGridHandle
,
MarketingObjectGridRowHandle
public static Handle makeHandleForTrigger(java.lang.String planURL, java.lang.String parentTypeName, int parentId, java.lang.String contextTypeName, int contextId, java.lang.String gridId)
This method will create the appropriate derived class, using the base plan URL
as well as the provided ComponentTypeEnum and objectId. This method is used
internally by ExecutionContext
to return a handle to a procedure
planURL
- TODOparentTypeName
- TODOparentId
- Specific object id to create a Handle fromcontextTypeName
- TODOcontextId
- TODOgridId
- TODO
java.lang.IllegalArgumentException
- if the URL specification is invalid, or
one or more required parts are left out or incorrect.ProjectHandle
,
ProjectGridHandle
,
ProjectGridRowHandle
,
WorkflowTaskHandle
,
MarketingObjectHandle
,
MarketingObjectGridHandle
,
MarketingObjectGridRowHandle
private static java.lang.String getQueryInfo(java.lang.String query, java.lang.String key)
public static Handle makeHandle(java.net.URL url)
private static ComponentTypeEnum extractComponentTypeEnum(java.lang.String query)
private static int validateComponentId(int id)
private static int extractComponentId(ComponentTypeEnum componentTypeEnum, java.lang.String query)
public java.net.URL getBaseURL()
public ComponentTypeEnum getComponentTypeEnum()
public int getComponentId()
public java.lang.String[] getExtensions()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toExternalForm()
public java.net.URL getURL()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |