Class AbstractWebjectDelegate

java.lang.Object
com.ptc.core.adapter.server.impl.AbstractWebjectDelegate
All Implemented Interfaces:
com.ptc.core.adapter.server.impl.TypeAwareWebjectDelegate, Externalizable, Serializable

public abstract class AbstractWebjectDelegate extends Object implements com.ptc.core.adapter.server.impl.TypeAwareWebjectDelegate, Externalizable
Deprecated.
Provides the general notion of a webject delegate for the Windchill adapter. Most webject delegates should extend this class.

Supported API: true

Extendable: true
See Also:
  • Field Details

    • locale

      protected Locale locale
      Deprecated.
      Indicates the locale of the webject. Formatted attribute values will use this locale. See the Windchill Adapter Guide for information on how webjects determine the locale.

      Supported API: true
    • attributeParams

      protected String[] attributeParams
      Deprecated.
      Contains a list of the values provided by the user for the webject's "ATTRIBUTE" param. Empty if no values were provided.

      Supported API: true
    • fieldParams

      protected String[] fieldParams
      Deprecated.
      Contains a list of the values provided by the user for the webject's "FIELD" param. Empty if no values were provided.

      Supported API: true
    • groupOutClass

      protected String groupOutClass
      Deprecated.
      The class name of objects in the output group as indicated by the webject's "TYPE" param. By default, "wt.fc.WTObject".

      Supported API: true
    • groupOutName

      protected String groupOutName
      Deprecated.
      The name of the output group as indicated by the webject's "GROUP_OUT" param. By default, webjectName + "-Output".

      Supported API: true
    • objectRefs

      protected String[] objectRefs
      Deprecated.
      Contains a list of the values provided by the user for the webject's "OBJECT_REF" param. Empty if no values were provided.

      Supported API: true
    • targetType

      protected String targetType
      Deprecated.
      The target type of the webject delegate's operation as indicated by the webject's "TYPE" param. By default, "wt.fc.WTObject".

      Supported API: true
    • whereClause

      protected String whereClause
      Deprecated.
      The where clause of the webject delegate's operation as indicated by the webject's "WHERE" param. The value is null if no "WHERE" param was specified.

      Supported API: true
    • nextOp

      protected String nextOp
      Deprecated.
      The intended next operation to be performed on the webject's result type instance(s). By default, the next operation is com.ptc.core.meta.common.OperationIdentifierConstants.VIEW.

      Supported API: true
    • descriptorParams

      protected String[] descriptorParams
      Deprecated.
      Contains a list of the values provided by the user for the webject's "DESCRIPTOR" param. Empty if no values were provided.

      Supported API: true
    • formatAttributes

      protected boolean formatAttributes
      Deprecated.
      Indicates whether the attribute values in the output group's type instances should be formatted for the end user. If so, then formatting is done according to locale.

      Supported API: true
    • unformatted

      protected List unformatted
      Deprecated.
      List of Classes (java types) to remain unformatted if formatAttributes is true.

      Supported API: true
    • includeConstraints

      protected boolean includeConstraints
      Deprecated.
      Indicates whether to include constraints in command filters.

      Supported API: true
    • includeDescriptors

      protected boolean includeDescriptors
      Deprecated.
      Indicates whether to include descriptors in command filters.

      Supported API: true
    • includeArgs

      protected boolean includeArgs
      Deprecated.
      Indicates whether to include args in command filters.

      Supported API: true
    • modification

      protected String modification
      Deprecated.
      For webjects that perform update operations, indicates whether new attribute values are added to existing ones or if the existing values are replaced. Acceptable values are "replace", "add", and "delete". Default is "replace".

      Supported API: true
    • referenceAttributes

      protected Hashtable referenceAttributes
      Deprecated.
      Contains a list of reference attributes provided by the user with the webject's "ATTRIBUTE" param. Empty if no references were provided.

      Supported API: true
    • referenceDelimiter

      protected String referenceDelimiter
      Deprecated.
      The delimiter for reference attributes specified in the webject's "ATTRIBUTE" param. Default is "^".

      Supported API: true
    • referenceExceptions

      protected boolean referenceExceptions
      Deprecated.
      Indicates whether or not access control exceptions thrown while expanding reference attributes should be propagated. If specified as false, exceptions are not propagated and null values are returned instead. Default is "true".

      Supported API: true
    • referenceOutputDelimiter

      protected String referenceOutputDelimiter
      Deprecated.
      The delimiter for reference attributes returned for expanded references in the webject's output group . Default is "^".

      Supported API: true
    • commandFilter

      protected AttributeContainerSpec commandFilter
      Deprecated.
      The com.ptc.core.meta.container.common.AttributeContainerSpec to use for commands executed by a webject delegate. The default behavior is for webject delegates to call a getFilter(...) method to build an appropriate filter for a command.

      Supported API: true
    • containerRefs

      protected WTContainerRef[] containerRefs
      Deprecated.
      Contains a list of wt.inf.container.WTContainerRef objects as specified by the user in the webject's "CONTAINER_REF" param. Empty if no values were provided.

      Supported API: true
    • containerQueryCriteria

      protected AttributeContainerSet containerQueryCriteria
      Deprecated.
      Provides the criteria for finding containers specified by the webject's "CONTAINER_REF" param. This can be added to other AttributeContainerSpecs.

      Supported API: true
  • Method Details

    • invoke

      public abstract com.infoengine.object.factory.Task invoke(com.infoengine.object.factory.Task task) throws WTException
      Deprecated.
      Webject delegate subclasses implement this method to perform work. The Task argument contains the Windchill adapter webject requested by the user. The Task return value contains the output group(s), if any, resulting from a webject delegate's operation. Most other methods in this class are called from within the invoke() method.

      Supported API: true
      Specified by:
      invoke in interface com.ptc.core.adapter.server.impl.TypeAwareWebjectDelegate
      Parameters:
      task - This argument is the Info*Engine task executed by the user. The task embeds a Windchill adapter webject, any input group(s) specified by the user, and context groups (such as the @SERVER group).
      Returns:
      Task
      Throws:
      WTException
    • preset

      public void preset(com.infoengine.object.factory.Task task) throws WTException
      Deprecated.
      This convenience method is intended to be called in the invoke() method to convert a standard set of webject param values into the various search structures (SearchInfo, SearchCriteriaInfo, SearchPagingInfo, SearchSortInfo). All initialization of these structures should happen in this method.

      Supported API: true
      Parameters:
      task - The Info*Engine task executed by the user. This is usually the same Task received by the invoke() method.
      Throws:
      WTException
    • getTypeInstances

      public Vector getTypeInstances(String className, String whereclause, String[] attributes) throws WTException
      Deprecated.
      This container-aware method returns a Vector of TypeInstances for the given type and search condition(s) in the where clause.

      Supported API: true
      Parameters:
      className - Usually the value of the webject parameter "TYPE", e.g. "WCTYPE|wt.part.WTPart".
      whereclause - The search criteria, usually the value(s) of the webject parameter "WHERE".
      attributes - [] The attributes to include in the result type instances, usually the value(s) of the webject parameter "ATTRIBUTE".
      Returns:
      Vector
      Throws:
      WTException
    • getAttributeIdentifier

      public AttributeIdentifier getAttributeIdentifier(String attribute) throws WTException
      Deprecated.
      Returns the AttributeIdentifier for the logical form.

      Supported API: true
      Parameters:
      attribute - The logical form string for an attribute.
      Returns:
      AttributeIdentifier
      Throws:
      WTException
    • getAttributeTypeIdentifier

      public AttributeTypeIdentifier getAttributeTypeIdentifier(String attribute, TypeIdentifier typeId) throws WTException
      Deprecated.
      Returns the AttributeTypeIdentifier for the given attribute and TypeIdentifier.

      Supported API: true
      Parameters:
      attribute - The logical form of an attribute name.
      typeId - The TypeIdentifier for a type.
      Returns:
      AttributeTypeIdentifier
      Throws:
      WTException
    • getAttributeTypeIdentifiers

      public AttributeTypeIdentifier[] getAttributeTypeIdentifiers(String[] attributes, TypeIdentifier typeId) throws WTException
      Deprecated.
      Returns an array of AttributeTypeIdentifiers for a given TypeIdentifier. If the attributes argument is null or empty, all attribute type identifiers for the type Identifier are returned.

      Supported API: true
      Parameters:
      attributes - List of logical attribute names valid for the type identifier, usually the value(s) of the webject's "ATTRIBUTE" param.
      typeId - The type identifier for which to return attribute type identifiers.
      Returns:
      AttributeTypeIdentifier []
      Throws:
      WTException
    • getAttributeContainerSet

      public AttributeContainerSet getAttributeContainerSet(String whereclause, TypeIdentifier typeId) throws WTException
      Deprecated.
      Returns the AttributeContainerSet for the attributes specified in the where clause.

      Supported API: true
      Parameters:
      whereclause - Usually the value(s) of the webject parameter "WHERE".
      typeId - The TypeIdentifier for which whereclause is valid, usually the TypeIdentifier for the "TYPE" parameter of the webject.
      Returns:
      AttributeContainerSet
      Throws:
      WTException
    • getLocalDomain

      public String getLocalDomain() throws WTException
      Deprecated.
      Gets the name of the Windchill adapter's local domain.

      Supported API: true
      Returns:
      String
      Throws:
      WTException
    • isLocalDomain

      public boolean isLocalDomain(String domain) throws WTException
      Deprecated.
      Determines if the given domain is equivalent to the Windchill adapter's local domain.

      Supported API: true
      Parameters:
      domain - The domain to compare to the local domain.
      Returns:
      boolean
      Throws:
      WTException
    • getLocalGuid

      public String getLocalGuid() throws WTException
      Deprecated.
      Returns the local GUID for the Windchill adapter.

      Supported API: true
      Returns:
      String
      Throws:
      WTException
    • getResultContainer

      public ResultContainer getResultContainer(AttributeContainerSet acs, TypeIdentifier typeId) throws WTException
      Deprecated.
      This method does a container-aware query for type instances using the given type identifier and search criteria.

      Supported API: true
      Parameters:
      acs - The search criteria, usually obtained by resolving the where clause (see getAttributeContainerSet method).
      typeId - Indicates the type of objects for which to search.
      Returns:
      ResultContainer
      Throws:
      WTException
    • getTypeIdentifier

      public TypeIdentifier getTypeIdentifier(String classname) throws WTException
      Deprecated.
      Returns the type identifier for the given class or type name.

      Supported API: true
      Parameters:
      classname - The type or class name for which to get a type identifier, e.g. "WCTYPE|wt.part.WTPart".
      Returns:
      TypeIdentifier
      Throws:
      WTException
    • getTypeInstance

      public TypeInstance getTypeInstance(String obid) throws WTException
      Deprecated.
      Returns a TypeInstance for the given obid. If the obid specifies a nonlocal domain, a task is dispatched to the remote system to retrieve the type instance. Likewise, if the obid specifies a wt.federation.LightweightProxy, the remote object is returned.
      All attributes for the type instance are returned (unless the Windchill adapter has been configured to return a default set of attributes for the target object type).

      Supported API: true
      Parameters:
      obid - The local or remote identifier.
      Returns:
      TypeInstance
      Throws:
      WTException
    • getOBID

      public String getOBID(TypeInstance ti) throws WTException
      Deprecated.
      Returns the obid for the given TypeInstance. The obid is the concatenation of the type instance's persistence identifier + the local guid + the local domain.

      Supported API: true
      Parameters:
      ti - The TypeInstance for which the obid is obtained.
      Returns:
      String
      Throws:
      WTException
    • addTypeInstance

      public void addTypeInstance(com.infoengine.object.factory.Group group, TypeInstance typeInstance) throws WTException
      Deprecated.
      Adds the type instance to the group. OBID and CLASS attributes will be added to the type instance, and attribute values are formatted for the end user according to locale if necessary. Reference attributes are expanded if necessary. Webject delegates will usually use this method to add command results to an output group.

      Supported API: true
      Parameters:
      group - The group to which the type instance will be added.
      typeInstance - The type instance to add to the group.
      Throws:
      WTException
    • addFilteredTypeInstance

      public void addFilteredTypeInstance(com.infoengine.object.factory.Group group, TypeInstance typeInstance, String[] attributes) throws WTException
      Deprecated.
      Adds the type instance to the group. The type instances in the output group contain the attributes specified in the attributes argument. Additionally, OBID and CLASS attributes are added to the type instance, and attribute values are formatted for the end user according to locale if necessary. If necessary, reference attributes will be expanded.

      Supported API: true
      Parameters:
      group - The group to which the type instance will be added
      typeInstance - The type instance which will be added to the group.
      attributes - Specifies the attributes to include for the type instance.
      Throws:
      WTException
    • newTypeInstance

      public com.infoengine.object.factory.Element newTypeInstance(String type) throws WTException
      Deprecated.
      Uses the NewEntityCommand to construct a new type instance for the given type.

      Supported API: true
      Parameters:
      type - Specifies the string form of a type identifier for which to create a new type instance, e.g. "WCTYPE|wt.part.WTPart".
      Returns:
      Element
      Throws:
      WTException
    • newTypeInstance

      public com.infoengine.object.factory.Element newTypeInstance(String type, String persistenceIdentifier) throws WTException
      Deprecated.
      Uses the NewEntityCommand to construct a new type instance for the given type. The new type instance will be assigned the specified persistence identifier.

      Supported API: true
      Parameters:
      type - The type for which to create a new type instance, e.g. "WCTYPE|wt.part.WTPart".
      persistenceIdentifier - The persistence identifier to assign to the new type instance.
      Returns:
      Element
      Throws:
      WTException
    • getAttributes

      public String[] getAttributes(com.infoengine.object.factory.Webject webject)
      Deprecated.
      Returns a list of logical attribute names specified with the webject's "ATTRIBUTE" param. Returns an empty list if the "ATTRIBUTE" param contains no values.

      Supported API: true
      Parameters:
      webject -
      Returns:
      String[]
    • getAttributeValue

      public String getAttributeValue(TypeInstance typeInstance, String name) throws WTException
      Deprecated.
      Returns the Object value of an attribute from the type instance.

      Supported API: true
      Parameters:
      typeInstance - The type instance containing the attribute specified by the name arg.
      name - The logical form of an attribute name for which to get content.
      Returns:
      String
      Throws:
      WTException
    • setAttributeValue

      public void setAttributeValue(TypeInstance typeInstance, String field) throws WTException
      Deprecated.
      Sets the value of an attribute in the given type instance. If the user indicates modification "add" on the webject, then the value is added to existing values, if any. If the user indicates modification "delete", then all values are removed from the attribute. If the user indicates modification "replace" (the default modification), then the value replaces any existing attribute value(s).

      Supported API: true
      Parameters:
      typeInstance - The type instance to update.
      field - The value of a webject "FIELD" param specifying the attribute to update and its new value. "FIELD" params are in name=value form, where name is the logical form of an attribute name and value is the string form of the attribute's content.
      Throws:
      WTException
    • setAttributeValue

      public void setAttributeValue(TypeInstance typeInstance, String name, String value) throws WTException
      Deprecated.
      Sets the value of the named attribute in the given type instance. If the user indicates modification "add" for the webject, then the value is added to existing values, if any. If the user indicates modification "delete", then all values are removed from the attribute. If the user indicates modification "replace" (the default modification), then the value replaces any existing attribute value(s).

      Supported API: true
      Parameters:
      typeInstance - The type instance to update.
      name - The logical form of an attribute for which to update content.
      value - The string form of the attribute's new content. This will be translated to Object form as necessary.
      Throws:
      WTException
    • executeCommand

      public Command executeCommand(Command command) throws WTException
      Deprecated.
      Executes the given command and returns a new command containing the result. The command should already have the command source and filters set as necessary for execution.

      Supported API: true
      Parameters:
      command - The command to execute.
      Returns:
      Command
      Throws:
      WTException
    • getTypeInstance

      public TypeInstance getTypeInstance(String obid, String[] attributes) throws WTException
      Deprecated.
      Returns a TypeInstance for the given obid. If the obid specifies a nonlocal domain, a task is dispatched to the remote system to retrieve the type instance. If the obid specifies a wt.federation.LightweightProxy, the remote object is retrieved. The result type instance will contain the specified attributes.

      Supported API: true
      Parameters:
      obid - The local or remote identifier.
      attributes - Contains a list of logical attribute names to include in the result type instance, usually the value of the webject parameter "ATTRIBUTE". If null or empty, then all attributes valid for the type instance are returned (unless the Windchill adapter has been configured to return a default set of attributes for the target object type).
      Returns:
      TypeInstance
      Throws:
      WTException
    • getTypeInstance

      public TypeInstance getTypeInstance(Persistable persistable, String[] attributes) throws WTException
      Deprecated.
      Returns the type instance corresponding to the given persistable object. The specified attributes are included in the type instance.

      Supported API: true
      Parameters:
      persistable - The persistable object for which to return a type instance.
      attributes - A list of logical attribute names to include in the type instance, usually the value(s) specified for the webject's "ATTRIBUTE" param. If null or empty, then all attributes valid for the type instance are returned (unless the Windchill adapter has been configured to return a default set of attributes for the target object type).
      Returns:
      TypeInstance
      Throws:
      WTException
    • getFilter

      public AttributeContainerSpec getFilter(TypeInstance instance, String[] attributes) throws WTException
      Deprecated.
      Given the value(s) of the webject's attribute parameter, return a command filter. If no values were specified for "ATTRIBUTE", then if the Windchill adapter has been configured to use a set of default attributes applying to the type instance, those attributes are included in the filter. If no default attributes have been configured, then all attributes valid for the type instance are included in the filter. The command filter will indicate the next operation and whether to include descriptors, constraints, and args as specified by the webject's params.

      Supported API: true
      Parameters:
      instance - The type instance for which to return a filter.
      attributes - The attributes to include in the filter, usually the value(s) of the webject's "ATTRIBUTE" param.
      Returns:
      AttributeContainerSpec
      Throws:
      WTException
    • isInstanceOf

      public boolean isInstanceOf(TypeIdentifier typeIdentifier, TypeInstance instance) throws WTException
      Deprecated.
      Determines if the given type instance is an instance of the type.

      Supported API: true
      Parameters:
      typeIdentifier -
      instance -
      Returns:
      boolean
      Throws:
      WTException
    • isSubtypeOf

      public boolean isSubtypeOf(TypeIdentifier typeIdentifier, TypeIdentifier candidateType) throws WTException
      Deprecated.
      Determines if the type identifier is a subtype of the candidate type identifier.

      Supported API: true
      Parameters:
      typeIdentifier -
      candidateType -
      Returns:
      boolean
      Throws:
      WTException
    • getDefaultAttributes

      public String[] getDefaultAttributes(TypeIdentifier typeIdentifier) throws WTException
      Deprecated.
      Given a type identifier, returns a list of logical attribute names which have been configured as default.

      Supported API: true
      Parameters:
      typeIdentifier -
      Returns:
      String []
      Throws:
      WTException
    • getFilter

      public AttributeContainerSpec getFilter(TypeIdentifier typeId, String[] attributes) throws WTException
      Deprecated.
      Given the value(s) of the webject's attribute parameter, return a command filter. If no values were specified for "ATTRIBUTE", then if the Windchill adapter has been configured to use a set of default attributes applying to the type identifier, those attributes are included in the filter. If no default attributes have been configured, then all attributes valid for the type identifier are included in the filter.

      Supported API: true
      Parameters:
      typeId - The type identifier for which to return a filter.
      attributes - The attributes to include in the filter, usually the value(s) of the webject's "ATTRIBUTE" param.
      Returns:
      AttributeContainerSpec
      Throws:
      WTException
    • getTargetTypeInstances

      public Vector getTargetTypeInstances() throws WTException
      Deprecated.
      Convenience method that returns a Vector of target type instances specified by the user via the webject's TYPE/WHERE and/or OBJECT_REF params. If no TYPE/WHERE or OBJECT_REF params have been specified, an exception is thrown. Webject delegates which accept a GROUP_IN must process that in addition to calling this method in order to obtain all target type instances.

      Supported API: true
      Returns:
      Vector
      Throws:
      WTException
    • getAttributeTranslator

      public static AttributeTranslator getAttributeTranslator(AttributeTypeIdentifier attrTypeId) throws WTException
      Deprecated.
      Returns an attribute translator for the given attribute type identifier. Used when formatting attribute values.

      Supported API: true
      Parameters:
      attrTypeId - The attribute type ID of the attribute value to be translated.
      Returns:
      AttributeTranslator
      Throws:
      WTException
    • getAttributeTranslator

      public static AttributeTranslator getAttributeTranslator(Class targetClass) throws WTException
      Deprecated.
      Returns an attribute translator for the given target class. Used when formatting attribute values.

      Supported API: true
      Parameters:
      targetClass - The class of the attribute value to be translated.
      Returns:
      AttributeTranslator
      Throws:
      WTException
    • getContainers

      protected WTContainerRef[] getContainers(com.infoengine.object.factory.Task task, Enumeration containerRefParams) throws WTException
      Deprecated.
      Returns a set of container references that will be used by the webject. See the Windchill Adapter Guide for information on how the container(s) are determined.

      Supported API: true
      Parameters:
      task - The task containing the context indicating the containers to use.
      containerRefParams - The contents of the webject's "CONTAINER_REF" params
      Returns:
      WTContainerRef[]
      Throws:
      WTException
    • getContainerQueryCriteria

      protected AttributeContainerSet getContainerQueryCriteria() throws WTException
      Deprecated.
      Returns search criteria built for the container reference(s) used by the webject.

      Supported API: true
      Returns:
      AttributeContainerSet
      Throws:
      WTException
    • getRemoteObject

      protected TypeInstance getRemoteObject(String ufid, String objectType, String objectId) throws WTException
      Deprecated.
      Returns a type instance representing an object located in a remote repository.

      Supported API: true
      Parameters:
      ufid - The ufid pointing to the remote object
      objectType - The type of the remote object. If null, the type of the remote object is guessed by parsing the ufid.
      objectId - The remote repository's local ID for the object. If null, the object ID is guessed by parsing the ufid.
      Returns:
      TypeInstance
      Throws:
      WTException
    • setAttributeValue

      protected void setAttributeValue(TypeInstance typeInstance, AttributeTypeIdentifier attrTypeId, AttributeIdentifier ai, Object value) throws WTException
      Deprecated.
      Sets the value of the attribute in the type instance.

      Supported API: true
      Parameters:
      typeInstance - The type instance to modify.
      attrTypeId - The type of the attribute identifier.
      ai - The attribute whose value will be modified.
      value - The new value to set for the attribute.
      Throws:
      WTException
    • getAttributeIdentifier

      protected AttributeIdentifier getAttributeIdentifier(TypeInstance typeInstance, AttributeTypeIdentifier attrTypeId, Object value) throws WTException
      Deprecated.
      Returns an attribute identifier for the provided context. The output of this method is intended to be eventually sent to the
      setAttributeValue(TypeInstance, AttributeTypeIdentifier, AttributeIdentifier, Object) method.

      Supported API: true
      Parameters:
      typeInstance - The type instance providing context for the attribute identifier.
      attrTypeId - The type of the attribute identifier.
      value - Used to determine what kind of attribute identifier to return.
      Returns:
      AttributeIdentifier
      Throws:
      WTException
    • isFormatAttributes

      protected boolean isFormatAttributes()
      Deprecated.


      Supported API: true
    • setFormatAttributes

      protected void setFormatAttributes(boolean fa)
      Deprecated.


      Supported API: true
    • getLocale

      protected Locale getLocale()
      Deprecated.


      Supported API: true
    • setLocale

      protected void setLocale(Locale l)
      Deprecated.


      Supported API: true
    • refreshTypeInstance

      protected TypeInstance refreshTypeInstance(TypeInstanceIdentifier typeInstanceID, String[] attributes) throws WTException
      Deprecated.
      Gets a refreshed type instance for the type instance ID.

      Supported API: true
      Parameters:
      typeInstanceID - The instance to refresh.
      attributes - Logical form of the attributes to include in the command filter.
      Returns:
      TypeInstance
      Throws:
      WTException
    • refreshTypeInstance

      protected TypeInstance refreshTypeInstance(TypeIdentifier tid, String[] attributes) throws WTException
      Deprecated.
      Gets a refreshed type instance for the type.

      Supported API: true
      Parameters:
      tid - The type for which to create a type instance.
      attributes - Logical form of the attributes to include in the command filter.
      Returns:
      TypeInstance
      Throws:
      WTException