wt.epm.supportingdata
Class EPMSupportingData

java.lang.Object
  extended bywt.epm.supportingdata.EPMSupportingData
All Implemented Interfaces:
EPMObject, Externalizable, IBAHolder, NetFactor, ObjectMappable, Persistable, Serializable

public final class EPMSupportingData
extends Object
implements Persistable, EPMObject, IBAHolder, Externalizable

Applications may save data that is specific to their applications inside an EPMSupportingData object.They save their data in the data member of the object.
An EPMSupportingData Holder distinquishes between EPMSupportingData objects that it holds by their names and the application that they belong to. Applications must assign a unique name to each EPMSupportingData object that they add.
For all EPMSupportingData objects that belong to the same EPMSupportingData Holder, the pair, ownerApplication and name must be unique. A uniqueness constraint on the database table for EPMSupportingData enforces this requirement. As a result, the EPMSupportingData class must be made Final. We chose this approach over the creation of a seperate identification class in order to prevent the creation of an additional database table for the identification class.

In order to facilitate future migration, it is recommended that the data object implements Evolvable.

Use the newEPMSupportingData static factory method(s), not the EPMSupportingData 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: true

Extendable: false

See Also:
Serialized Form

Field Summary
static String AUTHORING_APP_VERSION
          Label for the attribute.
static String AUTHORING_APP_VERSION_REFERENCE
          Label for the attribute.
static String AUTHORING_APPLICATION
          Label for the attribute; Indicates that the named application authored the object.
private static int AUTHORING_APPLICATION_UPPER_LIMIT
           
private  EPMAuthoringAppType authoringApplication
           
private  EPMAuthAppVersionRef authoringAppVersionReference
           
private static String CLASSNAME
           
private  Object data
           
static String DATA
          Label for the attribute; The data object.
private  String description
           
static String DESCRIPTION
          Label for the attribute; A user-specified description field.
private static int DESCRIPTION_UPPER_LIMIT
           
private static String EPMRESOURCE
           
static long EXTERNALIZATION_VERSION_UID
           
static String HOLDER
          Label for the attribute.
static String HOLDER_REFERENCE
          Label for the attribute.
private  ObjectReference holderReference
           
private  String name
           
static String NAME
          Label for the attribute; The name of this EPMSupportingData object.
private static int NAME_UPPER_LIMIT
           
protected static long OLD_FORMAT_VERSION_UID
           
static String OWNER_APPLICATION
          Label for the attribute; Indicate that the named application owns the object.
private static int OWNER_APPLICATION_UPPER_LIMIT
           
private  EPMApplicationType ownerApplication
           
static long R70_EXTERNALIZATION_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private  AttributeContainer theAttributeContainer
           
private  PersistInfo thePersistInfo
           
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.epm.EPMObject
UNSPECIFIED
 
Fields inherited from interface wt.iba.value.IBAHolder
ATTRIBUTE_CONTAINER
 
Constructor Summary
EPMSupportingData()
           
 
Method Summary
private  void authoringApplicationValidate(EPMAuthoringAppType a_AuthoringApplication)
           
private  void authoringAppVersionReferenceValidate(EPMAuthAppVersionRef a_AuthoringAppVersionReference)
           
 void checkAttributes()
          Validate the values of this Persistable object's attributes.
private  void checkAuthoringApplication(EPMAuthAppVersionRef a_AuthoringAppVersionReference)
           
private  void dataValidate(Object a_Data)
           
private  void descriptionValidate(String a_Description)
           
 EPMSupportingData duplicate()
           
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 AttributeContainer getAttributeContainer()
          Gets the object for the association that plays role: ATTRIBUTE_CONTAINER.
 EPMAuthoringAppType getAuthoringApplication()
          Gets the value of the attribute: AUTHORING_APPLICATION.
 EPMAuthoringAppVersion getAuthoringAppVersion()
          Gets the object for the association that plays role: AUTHORING_APP_VERSION.
 EPMAuthAppVersionRef getAuthoringAppVersionReference()
          Gets the value of the attribute: AUTHORING_APP_VERSION_REFERENCE.
 ClassInfo getClassInfo()
          Returns the ClassInfo object for this class.
 String getConceptualClassname()
          Deprecated.  
 Object getData()
          Gets the value of the attribute: DATA.
 String getDescription()
          Gets the value of the attribute: DESCRIPTION.
 EPMSupportingDataHolder getHolder()
          Gets the object for the association that plays role: HOLDER.
 ObjectReference getHolderReference()
          Gets the value of the attribute: HOLDER_REFERENCE.
 String getIdentity()
          Deprecated. Replaced by IdentityFactory.getDispayIdentifier(object) to return a localizable equivalent of getIdentity(). To return a localizable value which includes the object type, use IdentityFactory.getDisplayIdentity(object). Other alternatives are ((WTObject)obj).getDisplayIdentifier() and ((WTObject)obj).getDisplayIdentity().
 String getName()
          Gets the value of the attribute: NAME.
 EPMApplicationType getOwnerApplication()
          Gets the value of the attribute: OWNER_APPLICATION.
 PersistInfo getPersistInfo()
          Gets the object for the association that plays role: PERSIST_INFO.
 String getType()
          Deprecated. Replaced by IdentityFactory.getDispayType(object) to return a localizable equivalent of getType(). Another alternative is ((WTObject)obj).getDisplayType().
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
private  void holderReferenceValidate(ObjectReference a_HolderReference)
           
protected  void initialize(String name, EPMAuthoringAppType authoringApp, Object data, EPMSupportingDataHolder holder)
          Supports initialization, following construction of an instance.
private  void nameValidate(String a_Name)
           
static EPMSupportingData newEPMSupportingData(String name, EPMAuthoringAppType authoringApp, Object data, EPMSupportingDataHolder holder)
          

Supported API: true
private  void ownerApplicationValidate(EPMApplicationType a_OwnerApplication)
           
 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(EPMSupportingData thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setAttributeContainer(AttributeContainer a_AttributeContainer)
          Sets the object for the association that plays role: ATTRIBUTE_CONTAINER.
 void setAuthoringApplication(EPMAuthoringAppType a_AuthoringApplication)
          Sets the value of the attribute: AUTHORING_APPLICATION.
 void setAuthoringAppVersion(EPMAuthoringAppVersion a_AuthoringAppVersion)
          Sets the object for the association that plays role: AUTHORING_APP_VERSION.
 void setAuthoringAppVersionReference(EPMAuthAppVersionRef a_AuthoringAppVersionReference)
          Sets the value of the attribute: AUTHORING_APP_VERSION_REFERENCE.
 void setData(Object a_Data)
          Sets the value of the attribute: DATA.
 void setDescription(String a_Description)
          Sets the value of the attribute: DESCRIPTION.
 void setHolder(EPMSupportingDataHolder a_Holder)
          Sets the object for the association that plays role: HOLDER.
 void setHolderReference(ObjectReference a_HolderReference)
          Sets the value of the attribute: HOLDER_REFERENCE.
 void setName(String a_Name)
          Sets the value of the attribute: NAME.
 void setOwnerApplication(EPMApplicationType a_OwnerApplication)
          Sets the value of the attribute: OWNER_APPLICATION.
 void setPersistInfo(PersistInfo a_PersistInfo)
          Sets the object for the association that plays role: PERSIST_INFO.
 String toString()
          Returns the conceptual (modeled) name for the class.
 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 java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

NAME

public static final String NAME
Label for the attribute; The name of this EPMSupportingData object.

Supported API: false

See Also:
Constant Field Values

NAME_UPPER_LIMIT

private static int NAME_UPPER_LIMIT

name

private String name

DATA

public static final String DATA
Label for the attribute; The data object. In order to facilitate future migration, it is recommended that the data object implements Evolvable.

Supported API: false

See Also:
Constant Field Values

data

private Object data

DESCRIPTION

public static final String DESCRIPTION
Label for the attribute; A user-specified description field.

Supported API: true

See Also:
Constant Field Values

DESCRIPTION_UPPER_LIMIT

private static int DESCRIPTION_UPPER_LIMIT

description

private String description

OWNER_APPLICATION

public static final String OWNER_APPLICATION
Label for the attribute; Indicate that the named application owns the object.

The parameter is an EPMApplicationType, so that any sort of checking can be done at run-time.

Supported API: true

See Also:
Constant Field Values

OWNER_APPLICATION_UPPER_LIMIT

private static int OWNER_APPLICATION_UPPER_LIMIT

ownerApplication

private EPMApplicationType ownerApplication

AUTHORING_APPLICATION

public static final String AUTHORING_APPLICATION
Label for the attribute; Indicates that the named application authored the object.

The parameter is an EPMAuthoringAppType, so that any sort of checking can be done at run-time.

Supported API: true

See Also:
Constant Field Values

AUTHORING_APPLICATION_UPPER_LIMIT

private static int AUTHORING_APPLICATION_UPPER_LIMIT

authoringApplication

private EPMAuthoringAppType authoringApplication

HOLDER

public static final String HOLDER
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

HOLDER_REFERENCE

public static final String HOLDER_REFERENCE
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

holderReference

private ObjectReference holderReference

AUTHORING_APP_VERSION

public static final String AUTHORING_APP_VERSION
Label for the attribute.

Supported API: true

See Also:
Constant Field Values

AUTHORING_APP_VERSION_REFERENCE

public static final String AUTHORING_APP_VERSION_REFERENCE
Label for the attribute.

Supported API: true

See Also:
Constant Field Values

authoringAppVersionReference

private EPMAuthAppVersionRef authoringAppVersionReference

thePersistInfo

private PersistInfo thePersistInfo

theAttributeContainer

private AttributeContainer theAttributeContainer

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

EPMRESOURCE

private static final String EPMRESOURCE
See Also:
Constant Field Values

R70_EXTERNALIZATION_VERSION_UID

public static final long R70_EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values
Constructor Detail

EPMSupportingData

public EPMSupportingData()
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
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
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(EPMSupportingData 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
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
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

toString

public String toString()
Returns the conceptual (modeled) name for the class.

Supported API: false

Returns:
String

getClassInfo

public ClassInfo getClassInfo()
                       throws WTIntrospectionException
Returns the ClassInfo object for this class.

Supported API: false

Specified by:
getClassInfo in interface NetFactor
Returns:
ClassInfo
Throws:
WTIntrospectionException

getName

public String getName()
Gets the value of the attribute: NAME. The name of this EPMSupportingData object.

Supported API: false

Returns:
String

setName

public void setName(String a_Name)
             throws WTPropertyVetoException
Sets the value of the attribute: NAME. The name of this EPMSupportingData object.

Supported API: false

Parameters:
a_Name -
Throws:
WTPropertyVetoException

nameValidate

private void nameValidate(String a_Name)
                   throws WTPropertyVetoException
Parameters:
a_Name -
Throws:
WTPropertyVetoException

getData

public Object getData()
Gets the value of the attribute: DATA. The data object. In order to facilitate future migration, it is recommended that the data object implements Evolvable.

Supported API: false

Returns:
Object

setData

public void setData(Object a_Data)
             throws WTPropertyVetoException
Sets the value of the attribute: DATA. The data object. In order to facilitate future migration, it is recommended that the data object implements Evolvable.

Supported API: false

Parameters:
a_Data -
Throws:
WTPropertyVetoException

dataValidate

private void dataValidate(Object a_Data)
                   throws WTPropertyVetoException
Parameters:
a_Data -
Throws:
WTPropertyVetoException

getDescription

public String getDescription()
Gets the value of the attribute: DESCRIPTION. A user-specified description field.

Supported API: true

Returns:
String

setDescription

public void setDescription(String a_Description)
                    throws WTPropertyVetoException
Sets the value of the attribute: DESCRIPTION. A user-specified description field.

Supported API: true

Parameters:
a_Description -
Throws:
WTPropertyVetoException

descriptionValidate

private void descriptionValidate(String a_Description)
                          throws WTPropertyVetoException
Parameters:
a_Description -
Throws:
WTPropertyVetoException

getOwnerApplication

public EPMApplicationType getOwnerApplication()
Gets the value of the attribute: OWNER_APPLICATION. Indicate that the named application owns the object.

The parameter is an EPMApplicationType, so that any sort of checking can be done at run-time.

Supported API: true

Specified by:
getOwnerApplication in interface EPMObject
Returns:
EPMApplicationType

setOwnerApplication

public void setOwnerApplication(EPMApplicationType a_OwnerApplication)
                         throws WTPropertyVetoException
Sets the value of the attribute: OWNER_APPLICATION. Indicate that the named application owns the object.

The parameter is an EPMApplicationType, so that any sort of checking can be done at run-time.

Supported API: true

Parameters:
a_OwnerApplication -
Throws:
WTPropertyVetoException

ownerApplicationValidate

private void ownerApplicationValidate(EPMApplicationType a_OwnerApplication)
                               throws WTPropertyVetoException
Parameters:
a_OwnerApplication -
Throws:
WTPropertyVetoException

getAuthoringApplication

public EPMAuthoringAppType getAuthoringApplication()
Gets the value of the attribute: AUTHORING_APPLICATION. Indicates that the named application authored the object.

The parameter is an EPMAuthoringAppType, so that any sort of checking can be done at run-time.

Supported API: true

Specified by:
getAuthoringApplication in interface EPMObject
Returns:
EPMAuthoringAppType

setAuthoringApplication

public void setAuthoringApplication(EPMAuthoringAppType a_AuthoringApplication)
                             throws WTPropertyVetoException
Sets the value of the attribute: AUTHORING_APPLICATION. Indicates that the named application authored the object.

The parameter is an EPMAuthoringAppType, so that any sort of checking can be done at run-time.

Supported API: true

Parameters:
a_AuthoringApplication -
Throws:
WTPropertyVetoException

authoringApplicationValidate

private void authoringApplicationValidate(EPMAuthoringAppType a_AuthoringApplication)
                                   throws WTPropertyVetoException
Parameters:
a_AuthoringApplication -
Throws:
WTPropertyVetoException

getHolder

public EPMSupportingDataHolder getHolder()
Gets the object for the association that plays role: HOLDER.

Supported API: false

Returns:
EPMSupportingDataHolder

setHolder

public void setHolder(EPMSupportingDataHolder a_Holder)
               throws WTPropertyVetoException,
                      WTException
Sets the object for the association that plays role: HOLDER.

Supported API: false

Parameters:
a_Holder -
Throws:
WTPropertyVetoException
WTException

getHolderReference

public ObjectReference getHolderReference()
Gets the value of the attribute: HOLDER_REFERENCE.

Supported API: false

Returns:
ObjectReference

setHolderReference

public void setHolderReference(ObjectReference a_HolderReference)
                        throws WTPropertyVetoException
Sets the value of the attribute: HOLDER_REFERENCE.

Supported API: false

Parameters:
a_HolderReference -
Throws:
WTPropertyVetoException

holderReferenceValidate

private void holderReferenceValidate(ObjectReference a_HolderReference)
                              throws WTPropertyVetoException
Parameters:
a_HolderReference -
Throws:
WTPropertyVetoException

getAuthoringAppVersion

public EPMAuthoringAppVersion getAuthoringAppVersion()
Gets the object for the association that plays role: AUTHORING_APP_VERSION.

Supported API: true

Returns:
EPMAuthoringAppVersion

setAuthoringAppVersion

public void setAuthoringAppVersion(EPMAuthoringAppVersion a_AuthoringAppVersion)
                            throws WTPropertyVetoException,
                                   WTException
Sets the object for the association that plays role: AUTHORING_APP_VERSION.

Supported API: true

Parameters:
a_AuthoringAppVersion -
Throws:
WTPropertyVetoException
WTException

getAuthoringAppVersionReference

public EPMAuthAppVersionRef getAuthoringAppVersionReference()
Gets the value of the attribute: AUTHORING_APP_VERSION_REFERENCE.

Supported API: true

Returns:
EPMAuthAppVersionRef

setAuthoringAppVersionReference

public void setAuthoringAppVersionReference(EPMAuthAppVersionRef a_AuthoringAppVersionReference)
                                     throws WTPropertyVetoException
Sets the value of the attribute: AUTHORING_APP_VERSION_REFERENCE.

Supported API: true

Parameters:
a_AuthoringAppVersionReference -
Throws:
WTPropertyVetoException

authoringAppVersionReferenceValidate

private void authoringAppVersionReferenceValidate(EPMAuthAppVersionRef a_AuthoringAppVersionReference)
                                           throws WTPropertyVetoException
Parameters:
a_AuthoringAppVersionReference -
Throws:
WTPropertyVetoException

newEPMSupportingData

public static EPMSupportingData newEPMSupportingData(String name,
                                                     EPMAuthoringAppType authoringApp,
                                                     Object data,
                                                     EPMSupportingDataHolder holder)
                                              throws WTException


Supported API: true

Parameters:
name -
authoringApp -
data -
holder -
Returns:
EPMSupportingData
Throws:
WTException

initialize

protected void initialize(String name,
                          EPMAuthoringAppType authoringApp,
                          Object data,
                          EPMSupportingDataHolder holder)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: true

Parameters:
name -
authoringApp -
data -
holder -
Throws:
WTException

getIdentity

public String getIdentity()
Deprecated. Replaced by IdentityFactory.getDispayIdentifier(object) to return a localizable equivalent of getIdentity(). To return a localizable value which includes the object type, use IdentityFactory.getDisplayIdentity(object). Other alternatives are ((WTObject)obj).getDisplayIdentifier() and ((WTObject)obj).getDisplayIdentity().

Gets the value of the attribute: IDENTITY. Supplies the identity of the object for business purposes. The identity is composed of name, number or possibly other attributes. The identity does not include the type of the object.

Supported API: false

Specified by:
getIdentity in interface Persistable
Returns:
String

getType

public String getType()
Deprecated. Replaced by IdentityFactory.getDispayType(object) to return a localizable equivalent of getType(). Another alternative is ((WTObject)obj).getDisplayType().

Gets the value of the attribute: TYPE. Identifies the type of the object for business purposes. This is typically the class name of the object but may be derived from some other attribute of the object.

Supported API: false

Specified by:
getType in interface Persistable
Returns:
String

checkAttributes

public void checkAttributes()
                     throws InvalidAttributeException
Validate the values of this Persistable object's attributes.

Supported API: false

Specified by:
checkAttributes in interface Persistable
Throws:
InvalidAttributeException

getPersistInfo

public PersistInfo getPersistInfo()
Gets the object for the association that plays role: PERSIST_INFO.

Supported API: false

Specified by:
getPersistInfo in interface Persistable
Returns:
PersistInfo

setPersistInfo

public void setPersistInfo(PersistInfo a_PersistInfo)
Sets the object for the association that plays role: PERSIST_INFO.

Supported API: false

Specified by:
setPersistInfo in interface Persistable
Parameters:
a_PersistInfo -

getAttributeContainer

public AttributeContainer getAttributeContainer()
Gets the object for the association that plays role: ATTRIBUTE_CONTAINER.

Supported API: false

Specified by:
getAttributeContainer in interface IBAHolder
Returns:
AttributeContainer

setAttributeContainer

public void setAttributeContainer(AttributeContainer a_AttributeContainer)
Sets the object for the association that plays role: ATTRIBUTE_CONTAINER.

Supported API: false

Specified by:
setAttributeContainer in interface IBAHolder
Parameters:
a_AttributeContainer -

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

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

Returns:
int

duplicate

public EPMSupportingData duplicate()
                            throws EPMException
Throws:
EPMException

checkAuthoringApplication

private void checkAuthoringApplication(EPMAuthAppVersionRef a_AuthoringAppVersionReference)
                                throws WTPropertyVetoException
Throws:
WTPropertyVetoException