Package wt.epm.supportingdata
Class EPMSupportingData
java.lang.Object
wt.epm.supportingdata._EPMSupportingData
wt.epm.supportingdata.EPMSupportingData
- All Implemented Interfaces:
Externalizable,Serializable,wt.epm._EPMObject,EPMObject,wt.fc._NetFactor,wt.fc._ObjectMappable,wt.fc._Persistable,NetFactor,ObjectMappable,Persistable,wt.iba.value._IBAHolder,wt.iba.value.IBAHolder
@GenAsPersistable(interfaces={EPMObject.class,wt.iba.value.IBAHolder.class},versions=-5719333121590069777L,properties={@GeneratedProperty(name="name",type=java.lang.String.class,javaDoc="The name of this EPMSupportingData object.",constraints=@PropertyConstraints(required=true)),@GeneratedProperty(name="data",type=java.lang.Object.class,javaDoc="The data object. In order to facilitate future migration, it is recommended that the data object implements Evolvable.",constraints=@PropertyConstraints(required=true),columnProperties=@ColumnProperties(columnType=BLOB)),@GeneratedProperty(name="description",type=java.lang.String.class,supportedAPI=PUBLIC,javaDoc="A user-specified description field."),@GeneratedProperty(name="ownerApplication",type=EPMApplicationType.class,supportedAPI=PUBLIC,javaDoc="Indicate that the named application owns the object. <p> The parameter is an EPMApplicationType, so that any sort of checking can be done at run-time.",constraints=@PropertyConstraints(required=true),columnProperties=@ColumnProperties(persistent=true)),@GeneratedProperty(name="authoringApplication",type=EPMAuthoringAppType.class,supportedAPI=PUBLIC,javaDoc="Indicates that the named application authored the object. <p> The parameter is an EPMAuthoringAppType, so that any sort of checking can be done at run-time.",constraints=@PropertyConstraints(required=true),columnProperties=@ColumnProperties(persistent=true))},foreignKeys={@GeneratedForeignKey(myRoleIsRoleA=false,foreignKeyRole=@ForeignKeyRole(name="holder",type=EPMSupportingDataHolder.class,constraints=@PropertyConstraints(required=true)),myRole=@MyRole(name="supportingData",supportedAPI=PUBLIC,cascade=true)),@GeneratedForeignKey(name="AppDataVersionLink",foreignKeyRole=@ForeignKeyRole(name="authoringAppVersion",type=EPMAuthoringAppVersion.class,referenceType=EPMAuthAppVersionRef.class,supportedAPI=PUBLIC,owner=false),myRole=@MyRole(name="supportingData"))},tableProperties=@TableProperties(compositeIndex1="+holderReference.key.id",compositeUnique1="+name + holderReference.key.id + ownerApplication"))
public final class EPMSupportingData
extends _EPMSupportingData
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.
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:
-
Field Summary
Fields inherited from class wt.epm.supportingdata._EPMSupportingData
AUTHORING_APP_VERSION, AUTHORING_APP_VERSION_REFERENCE, AUTHORING_APPLICATION, DESCRIPTION, OWNER_APPLICATION -
Method Summary
Modifier and TypeMethodDescriptionprotected voidinitialize(String name, EPMAuthoringAppType authoringApp, Object data, EPMSupportingDataHolder holder) Supports initialization, following construction of an instance.static EPMSupportingDatanewEPMSupportingData(String name, EPMAuthoringAppType authoringApp, Object data, EPMSupportingDataHolder holder)
Supported API: truevoidsetAuthoringApplication(EPMAuthoringAppType a_AuthoringApplication) Sets the value of the attribute: AUTHORING_APPLICATION.voidsetAuthoringAppVersionReference(EPMAuthAppVersionRef a_AuthoringAppVersionReference) Sets the value of the attribute: AUTHORING_APP_VERSION_REFERENCE.voidsetDescription(String a_Description) Sets the value of the attribute: DESCRIPTION.voidsetOwnerApplication(EPMApplicationType a_OwnerApplication) Sets the value of the attribute: OWNER_APPLICATION.Methods inherited from class wt.epm.supportingdata._EPMSupportingData
getAuthoringApplication, getAuthoringAppVersion, getAuthoringAppVersionReference, getDescription, getOwnerApplication, setAuthoringAppVersion
-
Method Details
-
setDescription
Sets the value of the attribute: DESCRIPTION. A user-specified description field.
Supported API: true- Overrides:
setDescriptionin class_EPMSupportingData- Parameters:
a_Description-- Throws:
WTPropertyVetoException- See Also:
-
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- Overrides:
setOwnerApplicationin class_EPMSupportingData- Parameters:
a_OwnerApplication-- Throws:
WTPropertyVetoException- See Also:
-
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- Overrides:
setAuthoringApplicationin class_EPMSupportingData- Parameters:
a_AuthoringApplication-- Throws:
WTPropertyVetoException- See Also:
-
setAuthoringAppVersionReference
public void setAuthoringAppVersionReference(EPMAuthAppVersionRef a_AuthoringAppVersionReference) throws WTPropertyVetoException Sets the value of the attribute: AUTHORING_APP_VERSION_REFERENCE.
Supported API: true- Overrides:
setAuthoringAppVersionReferencein class_EPMSupportingData- Parameters:
a_AuthoringAppVersionReference-- Throws:
WTPropertyVetoException- See Also:
-
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
-