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.

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: