Class ATORuleConfigSpec

java.lang.Object
wt.fc._WTObject
wt.fc.WTObject
com.ptc.windchill.option.model._ATORuleConfigSpec
com.ptc.windchill.option.model.ATORuleConfigSpec
All Implemented Interfaces:
Externalizable, Serializable, wt.fc._NetFactor, wt.fc._ObjectMappable, wt.fc._Persistable, NetFactor, ObjectMappable, Persistable, DisplayIdentification, wt.vc.config._PersistableConfigSpec, ConfigSpec, wt.vc.config.PersistableConfigSpec

@GenAsPersistable(superClass=WTObject.class,interfaces=wt.vc.config.PersistableConfigSpec.class,properties={@GeneratedProperty(name="lifeCycleConfigSpec",type=LifeCycleConfigSpec.class,accessors=@PropertyAccessors(setExceptions={})),@GeneratedProperty(name="latestActive",type=boolean.class,javaDoc="If true then LatestConfigSpec is active.",accessors=@PropertyAccessors(setExceptions={}),supportedAPI=PUBLIC),@GeneratedProperty(name="lifeCycleActive",type=boolean.class,javaDoc="If true then LifeCycleConfigSpec is active.",accessors=@PropertyAccessors(setExceptions={}),supportedAPI=PUBLIC),@GeneratedProperty(name="effActive",type=boolean.class,javaDoc="If true then EffectivityConfigSpec is active",accessors=@PropertyAccessors(setExceptions={}),supportedAPI=PUBLIC),@GeneratedProperty(name="effectiveDate",type=java.sql.Timestamp.class,supportedAPI=PUBLIC,javaDoc="Effective revisions will have an effective date range which includes this date. @see wt.effectivity.Effectivity"),@GeneratedProperty(name="effectiveUnit",type=java.lang.String.class,supportedAPI=PUBLIC,javaDoc="Effective revisions will have a unit number range which inclues this number. @see wt.effectivity.Effectivity"),@GeneratedProperty(name="effectiveContextRef",type=ObjectReference.class,supportedAPI=PRIVATE,javaDoc="Internal representation of a ConfigurationItem. Effective revisions will have effectivity which specifies this ConfigurationItem. @see wt.effectivity.Effectivity"),@GeneratedProperty(name="effType",type=java.lang.String.class,supportedAPI=PUBLIC),@GeneratedProperty(name="configSpecOrder",type=long.class,javaDoc="If this config spec is executed as part of a collection of config specs then indicates order of config spec execution.",accessors=@PropertyAccessors(setExceptions={}))},foreignKeys=@GeneratedForeignKey(foreignKeyRole=@ForeignKeyRole(name="filter",type=ATONavigationFilter.class),myRole=@MyRole(name="theConfigSpec",cardinality=ZERO_TO_ONE,cascade=true))) public class ATORuleConfigSpec extends _ATORuleConfigSpec
Persistent configspec that is used to store the config spec(s) that are used to filter ChoiceRules. While the name is "ATORuleConfigSpec" this configspec is not limited to filtering only ATO rules. It now supports any object that implements ATOConfigSpecManaged. The classname ATORuleConfigSpec can't be changed now because a migration would be required that is not allowed in a MOR release.

Supported API: true

Extendable: false
See Also:
  • Method Details

    • newATORuleConfigSpec

      public static ATORuleConfigSpec newATORuleConfigSpec()
      Default factory for the class.

      Supported API: true
      Returns:
      ATORuleConfigSpec
    • appendSearchCriteria

      public QuerySpec appendSearchCriteria(QuerySpec querySpec) throws WTException, QueryException
      Appends to the supplied QuerySpec additional search criteria to reduce the resulting iterations to only those that will be considered by this ConfigSpec. Appending additional classes to the QuerySpec is allowed (for join purposes), but those that are marked as selectable will be trimmed by "filteredIterationsOf" prior to it calling the "process" API.

      The QueryResult returned should be a copy of the passed in one (taking advantage of side-effects is not encouraged).



      Supported API: true
      Parameters:
      querySpec - A QuerySpec with a target class that is Iterated.
      Returns:
      QuerySpec
      Throws:
      WTException
      QueryException
      See Also:
    • process

      public QueryResult process(QueryResult results) throws WTException
      Process the QueryResult of iterations, returning only those that "match" according to the algorithm.

      The QueryResult returned should be a copy of the passed-in QueryResult (side-effects should be avoided).



      Supported API: true
      Parameters:
      results - QueryResult of iterations to filter. Assumed to be the result of a query that included the additional search conditions applied by appendSearchCriteria. Note that after enumerating through the elements of this QueryResult, it should be reset.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getRelationalConfigSpec

      public Object getRelationalConfigSpec() throws WTException
      Returns the ConfigSpec to use when relationalizing this config spec. This is either a ConfigSpec or a RelationalConfigSpec. A relatianalized config spec utilizes the database (via appendSearchCriteria(QuerySpec)) to remove the need to post-process the QueryResult using ConfigSpec.process(QueryResult).

      Typical return values are:

      • null if the config spec can not/does not support moving everything to the database
      • this if the config spec itself supports relationalization
      • a RelationalConfigSpec (such as the RelationalConfigSpecBridge) which wraps the existing config spec to move processing into the database.

      Note: It is discouraged to return null as config specs that don't support relationalization can not be used by straight-query implementations. For example, it is possible to navigate the WTPartUsageLink and the other side iterations in one database hit by applying a relational config spec; a non-relational config spec would need to navigate to the master in one hit and then resolve the masters to iterations in a second, followed by post-processing to remove unnecessary iterations.

      Supported API: true

      Returns:
      null if the ConfigSpec does not support relationalization, otherwise a config spec that does
      Throws:
      WTException - anticipates the case where factory methods needlessly throw WTExeception
    • getActive

      public ConfigSpec getActive()
      Get the active ConfigSpec. Returns null if there is no active one or if the active one is null.

      Supported API: true
      Returns:
      ConfigSpec