wt.epm.structure
Class EPMContainedIn

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.fc.ObjectToObjectLink
          extended bywt.epm.structure.EPMContainedIn
All Implemented Interfaces:
Archiveable, BinaryLink, DisplayIdentification, EPMObject, Externalizable, Link, NetFactor, ObjectMappable, Persistable, Serializable

public final class EPMContainedIn
extends ObjectToObjectLink
implements EPMObject, Archiveable, Externalizable

A CAD file may contain multiple objects that an authoring application wants to expose as separate business objects (i.e. EPMDocuments). This relation associates two EPMDocuments where one holds an object contained in the other, such as a family instance and its family table.

Use the newEPMContainedIn static factory method(s), not the EPMContainedIn 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
private static String CLASSNAME
           
static String CONTAINED_IN_ROLE
          Label for the attribute.
static String CONTAINED_TYPE
          Label for the attribute.
private static int CONTAINED_TYPE_UPPER_LIMIT
           
private  EPMContainedObjectType containedType
           
static String CONTAINS_ROLE
          Label for the attribute.
private static String EPMRESOURCE
           
static long EXTERNALIZATION_VERSION_UID
           
static String GEOMETRY_MODIFIED
          Deprecated.  
private  String identifier
           
static String IDENTIFIER
          Label for the attribute; A tag used by the authoring application to identify the contained object.
private static int IDENTIFIER_UPPER_LIMIT
           
private  boolean locked
           
static String LOCKED
          Label for the attribute.
protected static long OLD_FORMAT_VERSION_UID
           
static long R70_EXTERNALIZATION_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
static String SUPERCEDED
          Deprecated.  
static String VERIFY_STATUS
          Label for the attribute.
private  int verifyStatus
           
 
Fields inherited from class wt.fc.ObjectToObjectLink
ROLE_AOBJECT_REF, ROLE_BOBJECT_REF
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.epm.EPMObject
AUTHORING_APPLICATION, OWNER_APPLICATION, UNSPECIFIED
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.fc.BinaryLink
ALL_ROLES, BOTH_ROLES, ROLE_AOBJECT_ROLE, ROLE_BOBJECT_ROLE
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
EPMContainedIn()
           
 
Method Summary
 void checkAttributes()
          Validate the values of this Persistable object's attributes.
private  void containedTypeValidate(EPMContainedObjectType a_ContainedType)
           
 WTObject duplicate()
          Create a deep copy of this Link.
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 EPMAuthoringAppType getAuthoringApplication()
          Gets the value of the attribute: AUTHORING_APPLICATION.
 String getConceptualClassname()
          Deprecated.  
 EPMFamilyTable getContainedIn()
          Gets the object for the association that plays role: CONTAINED_IN_ROLE.
 EPMContainedObjectType getContainedType()
          Gets the object for the association that plays role: CONTAINED_TYPE.
 EPMDocument getContains()
          Gets the object for the association that plays role: CONTAINS_ROLE.
 String getIdentifier()
          Gets the value of the attribute: IDENTIFIER.
 EPMApplicationType getOwnerApplication()
          Gets the value of the attribute: OWNER_APPLICATION.
 int getVerifyStatus()
          Gets the value of the attribute: VERIFY_STATUS.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
private  void identifierValidate(String a_Identifier)
           
protected  void initialize(EPMContainedIn original)
          Supports initialization, following construction of an instance.
protected  void initialize(EPMDocument containedObject, EPMFamilyTable container, String identifier, EPMContainedObjectType containedType)
          Supports initialization, following construction of an instance.
protected  void initialize(EPMDocument containedObject, EPMFamilyTable container, String identifier, EPMContainedObjectType containedType, boolean isGeometryModified)
           
 boolean isGeometryModified()
          Deprecated.  
 boolean isLocked()
          Gets the value of the attribute: LOCKED.
 boolean isSuperceded()
          Deprecated.  
protected static EPMContainedIn newEPMContainedIn(EPMContainedIn original)
          Copy Constructor for used by the EPMStandardStructureService to copy forward an EPMContainedIn link.
static EPMContainedIn newEPMContainedIn(EPMDocument containedObject, EPMFamilyTable container, String identifier, EPMContainedObjectType containedType)
          Constructs an EPMContainedIn link that associates two EPMDocuments where one holds an object contained in the other, such as a family instance and its family table.
 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(EPMContainedIn thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setContainedIn(EPMFamilyTable containedIn)
          Sets the object for the association that plays role: CONTAINED_IN_ROLE.
 void setContainedType(EPMContainedObjectType a_ContainedType)
          Sets the object for the association that plays role: CONTAINED_TYPE.
 void setContains(EPMDocument contains)
          Sets the object for the association that plays role: CONTAINS_ROLE.
 void setGeometryModified(boolean a_GeometryModified)
          Deprecated.  
 void setIdentifier(String a_Identifier)
          Sets the value of the attribute: IDENTIFIER.
 void setLocked(boolean a_Locked)
          Sets the value of the attribute: LOCKED.
protected  void setSuperceded(boolean a_Superceded)
          Deprecated.  
 void setVerifyStatus(int a_VerifyStatus)
          Sets the value of the attribute: VERIFY_STATUS.
 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.fc.ObjectToObjectLink
appendJoinCriteria, appendRoleCriteria, getAllObjects, getJoinValues, getLinkInfo, getObject, getOtherObject, getRemoteRoleAObjectId, getRemoteRoleBObjectId, getRole, getRoleAObject, getRoleAObjectId, getRoleAObjectRef, getRoleBObject, getRoleBObjectId, getRoleBObjectRef, getRoleIdName, getRoleObject, initialize, isRoleANonpersistentProxy, isRoleBNonpersistentProxy, readVersion, setRoleAObject, setRoleAObjectRef, setRoleBObject, setRoleBObjectRef, setRoleObject
 
Methods inherited from class wt.fc.WTObject
finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getIdentity, getModifyTimestamp, getPersistInfo, getType, initialize, readVersion, setPersistInfo, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.Persistable
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

CONTAINS_ROLE

public static final String CONTAINS_ROLE
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

CONTAINED_IN_ROLE

public static final String CONTAINED_IN_ROLE
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

IDENTIFIER

public static final String IDENTIFIER
Label for the attribute; A tag used by the authoring application to identify the contained object.

Supported API: false

See Also:
Constant Field Values

IDENTIFIER_UPPER_LIMIT

private static int IDENTIFIER_UPPER_LIMIT

identifier

private String identifier

GEOMETRY_MODIFIED

public static final String GEOMETRY_MODIFIED
Deprecated.  

Label for the attribute; a flag that signifies whether or not a change made to the CAD file in the "contained in" document affected the geometry of the object that the "contains" document represents.

Once this flag is set to true, it cannot be change back to false.

Supported API: false

See Also:
Constant Field Values

SUPERCEDED

public static final String SUPERCEDED
Deprecated.  

Label for the attribute; a flag that signifies whether or not this version of the "contained" document or the "container" document has been superceded by a later version.

Once superceded by another version, you cannot change the geometry that belongs to that version of the "contained" object. Otherwise, the CAD file in the "container" document would need to hold multiple versions of the same "contained" object. Likewise, once you revise a "container" document by itself, you cannot make any changes to the CAD file in the previous version. Otherwise, those changes would conflict with changes made to the new version of the CAD file since they both affect the same version of the "contained" objects.

Supported API: false

See Also:
Constant Field Values

VERIFY_STATUS

public static final String VERIFY_STATUS
Label for the attribute.

Supported API: true

See Also:
Constant Field Values

verifyStatus

private int verifyStatus

LOCKED

public static final String LOCKED
Label for the attribute.

Supported API: true

See Also:
Constant Field Values

locked

private boolean locked

CONTAINED_TYPE

public static final String CONTAINED_TYPE
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

CONTAINED_TYPE_UPPER_LIMIT

private static int CONTAINED_TYPE_UPPER_LIMIT

containedType

private EPMContainedObjectType containedType

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

EPMContainedIn

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

readVersion

protected boolean readVersion(EPMContainedIn 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 ObjectToObjectLink
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 ObjectToObjectLink
Parameters:
input -
Throws:
SQLException
DatastoreException

getContains

public EPMDocument getContains()
Gets the object for the association that plays role: CONTAINS_ROLE.

Supported API: false

Returns:
EPMDocument

setContains

public void setContains(EPMDocument contains)
                 throws WTPropertyVetoException
Sets the object for the association that plays role: CONTAINS_ROLE.

Supported API: false

Parameters:
contains -
Throws:
WTPropertyVetoException

getContainedIn

public EPMFamilyTable getContainedIn()
Gets the object for the association that plays role: CONTAINED_IN_ROLE.

Supported API: false

Returns:
EPMFamilyTable

setContainedIn

public void setContainedIn(EPMFamilyTable containedIn)
                    throws WTPropertyVetoException
Sets the object for the association that plays role: CONTAINED_IN_ROLE.

Supported API: false

Parameters:
containedIn -
Throws:
WTPropertyVetoException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Returns:
String

getIdentifier

public String getIdentifier()
Gets the value of the attribute: IDENTIFIER. A tag used by the authoring application to identify the contained object.

Supported API: false

Returns:
String

setIdentifier

public void setIdentifier(String a_Identifier)
                   throws WTPropertyVetoException
Sets the value of the attribute: IDENTIFIER. A tag used by the authoring application to identify the contained object.

Supported API: false

Parameters:
a_Identifier -
Throws:
WTPropertyVetoException

identifierValidate

private void identifierValidate(String a_Identifier)
                         throws WTPropertyVetoException
Parameters:
a_Identifier -
Throws:
WTPropertyVetoException

isGeometryModified

public boolean isGeometryModified()
Deprecated.  

Gets the value of the attribute: GEOMETRY_MODIFIED. a flag that signifies whether or not a change made to the CAD file in the "contained in" document affected the geometry of the object that the "contains" document represents.

Once this flag is set to true, it cannot be change back to false.

Supported API: false

Returns:
boolean

setGeometryModified

public void setGeometryModified(boolean a_GeometryModified)
                         throws WTPropertyVetoException
Deprecated.  

Sets the value of the attribute: GEOMETRY_MODIFIED. a flag that signifies whether or not a change made to the CAD file in the "contained in" document affected the geometry of the object that the "contains" document represents.

Once this flag is set to true, it cannot be change back to false.

Supported API: false

Parameters:
a_GeometryModified -
Throws:
WTPropertyVetoException

isSuperceded

public boolean isSuperceded()
Deprecated.  

Gets the value of the attribute: SUPERCEDED. a flag that signifies whether or not this version of the "contained" document or the "container" document has been superceded by a later version.

Once superceded by another version, you cannot change the geometry that belongs to that version of the "contained" object. Otherwise, the CAD file in the "container" document would need to hold multiple versions of the same "contained" object. Likewise, once you revise a "container" document by itself, you cannot make any changes to the CAD file in the previous version. Otherwise, those changes would conflict with changes made to the new version of the CAD file since they both affect the same version of the "contained" objects.

Supported API: false

Returns:
boolean

setSuperceded

protected void setSuperceded(boolean a_Superceded)
                      throws WTPropertyVetoException
Deprecated.  

Sets the value of the attribute: SUPERCEDED. a flag that signifies whether or not this version of the "contained" document or the "container" document has been superceded by a later version.

Once superceded by another version, you cannot change the geometry that belongs to that version of the "contained" object. Otherwise, the CAD file in the "container" document would need to hold multiple versions of the same "contained" object. Likewise, once you revise a "container" document by itself, you cannot make any changes to the CAD file in the previous version. Otherwise, those changes would conflict with changes made to the new version of the CAD file since they both affect the same version of the "contained" objects.

Supported API: false

Parameters:
a_Superceded -
Throws:
WTPropertyVetoException

getVerifyStatus

public int getVerifyStatus()
Gets the value of the attribute: VERIFY_STATUS.

Supported API: true

Returns:
int

setVerifyStatus

public void setVerifyStatus(int a_VerifyStatus)
                     throws WTPropertyVetoException
Sets the value of the attribute: VERIFY_STATUS.

Supported API: true

Parameters:
a_VerifyStatus -
Throws:
WTPropertyVetoException

isLocked

public boolean isLocked()
Gets the value of the attribute: LOCKED.

Supported API: true

Returns:
boolean

setLocked

public void setLocked(boolean a_Locked)
               throws WTPropertyVetoException
Sets the value of the attribute: LOCKED.

Supported API: true

Parameters:
a_Locked -
Throws:
WTPropertyVetoException

getContainedType

public EPMContainedObjectType getContainedType()
Gets the object for the association that plays role: CONTAINED_TYPE.

Supported API: false

Returns:
EPMContainedObjectType

setContainedType

public void setContainedType(EPMContainedObjectType a_ContainedType)
                      throws WTPropertyVetoException
Sets the object for the association that plays role: CONTAINED_TYPE.

Supported API: false

Parameters:
a_ContainedType -
Throws:
WTPropertyVetoException

containedTypeValidate

private void containedTypeValidate(EPMContainedObjectType a_ContainedType)
                            throws WTPropertyVetoException
Parameters:
a_ContainedType -
Throws:
WTPropertyVetoException

newEPMContainedIn

public static EPMContainedIn newEPMContainedIn(EPMDocument containedObject,
                                               EPMFamilyTable container,
                                               String identifier,
                                               EPMContainedObjectType containedType)
                                        throws WTException
Constructs an EPMContainedIn link that associates two EPMDocuments where one holds an object contained in the other, such as a family instance and its family table.

By default, this constructor sets 'geometryModified' flag to true.

Supported API: false

Parameters:
containedObject - document that represents the object that is contained in the CAD file that belongs to the "container"
container - family table object that holds the CAD file that the "contained object" is defined in
identifier - a tag used by the authoring application to identify the contained object.
containedType - type of object contained in the CAD file
Returns:
EPMContainedIn
Throws:
WTException

initialize

protected void initialize(EPMDocument containedObject,
                          EPMFamilyTable container,
                          String identifier,
                          EPMContainedObjectType containedType)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Parameters:
containedObject - document that represents the object that is contained in the CAD file that belongs to the "container"
container - family table object that holds the CAD file that the "contained object" is defined in
identifier - a tag used by the authoring application to identify the contained object.
containedType - type of object contained in the CAD file
Throws:
WTException

newEPMContainedIn

protected static EPMContainedIn newEPMContainedIn(EPMContainedIn original)
                                           throws WTException
Copy Constructor for used by the EPMStandardStructureService to copy forward an EPMContainedIn link. All fields are copied from the original except for the 'geometryModified' flag, which is set to false.

Supported API: false

Parameters:
original - original EPMContainedIn link to copy
Returns:
EPMContainedIn
Throws:
WTException

initialize

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

Supported API: false

Parameters:
original - original EPMContainedIn link to copy
Throws:
WTException

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

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

checkAttributes

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

In particular, this must check that the modifications to the object were made by an approved application.

Supported API: true

Specified by:
checkAttributes in interface EPMObject
Overrides:
checkAttributes in class WTObject
Throws:
InvalidAttributeException

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 ObjectToObjectLink
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 ObjectToObjectLink
Returns:
int

duplicate

public WTObject duplicate()
                   throws WTException
Description copied from class: ObjectToObjectLink
Create a deep copy of this Link. This overriding method ensures that the copy has the same references to the roleA and roleB members as the source object.

Supported API: false

Overrides:
duplicate in class ObjectToObjectLink
Returns:
WTObject
Throws:
WTException

initialize

protected void initialize(EPMDocument containedObject,
                          EPMFamilyTable container,
                          String identifier,
                          EPMContainedObjectType containedType,
                          boolean isGeometryModified)
                   throws WTException
Throws:
WTException