wt.rule
Class InstanceBasedRule

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.fc.Item
          extended bywt.rule.PersistentRule
              extended bywt.rule.InstanceBasedRule
All Implemented Interfaces:
AccessControlled, DisplayIdentification, DomainAdministered, Externalizable, NetFactor, ObjectMappable, Persistable, RecentlyVisited, Rule, Serializable, WTContained

public class InstanceBasedRule
extends PersistentRule
implements Externalizable

An implementation of the Rule interface that references a particular object instance.

The objRef is generally used by rule selectors to determine whether or not this rule is applicable in a particular situation.

Use the newInstanceBasedRule static factory method(s), not the InstanceBasedRule constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: false

Extendable: false

See Also:
DefaultRuleSelector, Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
static String OBJ_REF
          Label for the attribute.
private  ObjectReference objRef
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Fields inherited from class wt.rule.PersistentRule
CONTAINER, ENABLED_FLAG, SPECIFICATION
 
Fields inherited from class wt.fc.Item
VERSION_40_UID, VERSION_51_UID
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.inf.container.WTContained
CONTAINER_ID, CONTAINER_NAME, CONTAINER_REFERENCE
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.rule.Rule
DEFAULT_RULE, DESCRIPTION, NAME, RULE_TYPE
 
Fields inherited from interface wt.admin.DomainAdministered
DOMAIN_REF, INHERITED_DOMAIN
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
InstanceBasedRule()
           
 
Method Summary
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 String getConceptualClassname()
          Deprecated.  
 ObjectReference getObjRef()
          Gets the object for the association that plays role: OBJ_REF.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
protected  void initialize(String name, RuleType ruleType)
          Supports initialization, following construction of an instance.
protected  void initialize(String name, RuleType ruleType, WTContainerRef container)
          Supports initialization, following construction of an instance.
protected  void initialize(WTContainerRef container)
          Supports initialization, following construction of an instance.
static InstanceBasedRule newInstanceBasedRule()
          Construct a new rule.
static InstanceBasedRule newInstanceBasedRule(String name, RuleType ruleType)
          Construct a new rule with the specified name and ruleType.
static InstanceBasedRule newInstanceBasedRule(String name, RuleType ruleType, WTContainerRef container)
          Construct a new rule with the specified name and ruleType.
static InstanceBasedRule newInstanceBasedRule(WTContainerRef container)
          Construct a new rule.
private  void objRefValidate(ObjectReference a_ObjRef)
           
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(InstanceBasedRule thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setObjRef(ObjectReference a_ObjRef)
          Sets the object for the association that plays role: OBJ_REF.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class wt.rule.PersistentRule
getContainer, getContainerName, getContainerReference, getContents, getDescription, getDisabledSearchCondition, getEnabledFlag, getEnabledSearchCondition, getEncoding, getInputSource, getName, getRuleType, getSpecification, initialize, isDefaultRule, isEnabled, readVersion, setContainer, setContainerReference, setContents, setDefaultRule, setDescription, setEnabledFlag, setEncoding, setName, setRuleType, setSpecification
 
Methods inherited from class wt.fc.Item
getDomainRef, isInheritedDomain, readVersion, setDomainRef, setInheritedDomain
 
Methods inherited from class wt.fc.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getIdentity, getModifyTimestamp, getPersistInfo, getType, readVersion, setPersistInfo, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.Persistable
checkAttributes, getIdentity, getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

OBJ_REF

public static final String OBJ_REF
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

objRef

private ObjectReference objRef

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values
Constructor Detail

InstanceBasedRule

public InstanceBasedRule()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class PersistentRule
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class PersistentRule
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(InstanceBasedRule thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Overrides:
writeExternal in class PersistentRule
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Overrides:
readExternal in class PersistentRule
Parameters:
input -
Throws:
SQLException
DatastoreException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Returns:
String

getObjRef

public ObjectReference getObjRef()
Gets the object for the association that plays role: OBJ_REF.

Supported API: false

Returns:
ObjectReference

setObjRef

public void setObjRef(ObjectReference a_ObjRef)
               throws WTPropertyVetoException
Sets the object for the association that plays role: OBJ_REF.

Supported API: false

Parameters:
a_ObjRef -
Throws:
WTPropertyVetoException

objRefValidate

private void objRefValidate(ObjectReference a_ObjRef)
                     throws WTPropertyVetoException
Parameters:
a_ObjRef -
Throws:
WTPropertyVetoException

newInstanceBasedRule

public static InstanceBasedRule newInstanceBasedRule(String name,
                                                     RuleType ruleType)
                                              throws WTException
Construct a new rule with the specified name and ruleType. The rule is uniquely identified by it name and type. The rule is created in the Classic container.

Parameters:
name - then name of the rule (cannot be null)
ruleType - the type of the rule (cannot be null)
Returns:
InstanceBasedRule
Throws:
WTException

initialize

protected void initialize(String name,
                          RuleType ruleType)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Overrides:
initialize in class PersistentRule
Parameters:
name - then name of the rule (cannot be null)
ruleType - the type of the rule (cannot be null)
Throws:
WTException

newInstanceBasedRule

public static InstanceBasedRule newInstanceBasedRule(String name,
                                                     RuleType ruleType,
                                                     WTContainerRef container)
                                              throws WTException
Construct a new rule with the specified name and ruleType. The rule is uniquely identified by it name and type. The rule is created in the specified container.

Parameters:
name - then name of the rule (cannot be null)
ruleType - the type of the rule (cannot be null)
container - the rule's container
Returns:
InstanceBasedRule
Throws:
WTException

initialize

protected void initialize(String name,
                          RuleType ruleType,
                          WTContainerRef container)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Overrides:
initialize in class PersistentRule
Parameters:
name - then name of the rule (cannot be null)
ruleType - the type of the rule (cannot be null)
container - the rule's container
Throws:
WTException

newInstanceBasedRule

public static InstanceBasedRule newInstanceBasedRule()
                                              throws WTException
Construct a new rule. The rule is created in the Classic container.

Supported API: false

Returns:
InstanceBasedRule
Throws:
WTException

newInstanceBasedRule

public static InstanceBasedRule newInstanceBasedRule(WTContainerRef container)
                                              throws WTException
Construct a new rule. The rule is created in the specified container.

Parameters:
container - the rule's container
Returns:
InstanceBasedRule
Throws:
WTException

initialize

protected void initialize(WTContainerRef container)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Overrides:
initialize in class PersistentRule
Parameters:
container - the rule's container
Throws:
WTException

equals

public boolean equals(Object obj)
Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers. Changed or stale copies are still considered equal by this method. Delegates to PersistenceHelper.equals(Persistable,Object).

Warning: Certain core Windchill operations may depend upon equals being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
equals in class PersistentRule
Parameters:
obj -
Returns:
boolean

hashCode

public int hashCode()
Returns a hash code for this object based upon its ObjectIdentifier. Delegates to PersistenceHelper.hashCode(Persistable).

Warning: Certain core Windchill operations may depend upon hashCode being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
hashCode in class PersistentRule
Returns:
int