public class Handle
extends java.lang.Object
implements java.io.Serializable
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:
Program: http://mymachine:7001/plan/affiniumplan.jsp?cat=programtabs&programid=1234 Program grid: http://mymachine:7001/plan/affiniumplan.jsp?cat=programtabs&programid=1234&gridid=grid Program grid row: http://mymachine:7001/plan/affiniumplan.jsp?cat=programtabs&programid=1234&gridid=grid&gridrowid=101 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
Modifier and Type | Field and Description |
---|---|
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_CATEGORY |
protected static java.lang.String |
PLAN_ID |
protected static java.lang.String |
PLAN_JSP |
protected static java.lang.String |
PLAN_QUERY |
protected static java.lang.String |
PROGRAM_CATEGORY |
protected static java.lang.String |
PROGRAM_GRID_QUERY |
protected static java.lang.String |
PROGRAM_GRID_ROW_QUERY |
protected static java.lang.String |
PROGRAM_ID |
protected static java.lang.String |
PROGRAM_QUERY |
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 |
Modifier | Constructor and Description |
---|---|
protected |
Handle(java.net.URL baseURL,
ComponentTypeEnum componentTypeEnum,
int componentId) |
protected |
Handle(java.net.URL baseURL,
ComponentTypeEnum componentTypeEnum,
int componentId,
java.lang.String[] extensions) |
Modifier and Type | Method and Description |
---|---|
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) |
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 PROGRAM_CATEGORY
protected static final java.lang.String PROGRAM_ID
protected static final java.lang.String PROGRAM_QUERY
protected static final java.lang.String PLAN_CATEGORY
protected static final java.lang.String PLAN_ID
protected static final java.lang.String PLAN_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 PROGRAM_GRID_QUERY
protected static final java.lang.String PROGRAM_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
protected Handle(java.net.URL baseURL, ComponentTypeEnum componentTypeEnum, int componentId)
protected Handle(java.net.URL baseURL, ComponentTypeEnum componentTypeEnum, int componentId, java.lang.String[] extensions)
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 parsejava.lang.IllegalArgumentException
- if the URL specification is invalid, or
one or more required parts are left out or incorrect.ProjectHandle
,
ProgramHandle
,
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
- TODOjava.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()