wt.epm.structure
Class EPMMemberLink

java.lang.Object
  extended by wt.fc.WTObject
      extended by wt.fc.ObjectToObjectLink
          extended by wt.vc.struct.IteratedUsageLink
              extended by wt.epm.structure.EPMMemberLink
All Implemented Interfaces:
Externalizable, Serializable, wt.epm.annotation.EPMStructureAnnotatable, EPMObject, EPMDependencyLink, wt.fc.archive.Archiveable, BinaryLink, Link, NetFactor, ObjectMappable, Persistable, wt.iba.value.IBAHolder, DisplayIdentification, OccurrenceableLink, wt.type.FlexTyped, wt.type.Typed

public final class EPMMemberLink
extends IteratedUsageLink
implements EPMDependencyLink, OccurrenceableLink, wt.fc.archive.Archiveable, wt.epm.annotation.EPMStructureAnnotatable, Externalizable

A member link always has a quantity. If a member link has a transform, its quantity must be one and its placed flag must be true.

Use the newEPMMemberLink static factory method(s), not the EPMMemberLink 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 IDENTIFIER
          Label for the attribute; an integer identifier that an application may assign to an EPMMemberLink.
static String QUANTITY
          Label for the attribute.
static String TRANSFORM
          Label for the attribute.
static String USES_ROLE
          Label for the attribute.
 
Fields inherited from interface wt.epm.structure.EPMDependencyLink
AS_STORED_CHILD_NAME, DEP_TYPE, REQUIRED, UNIQUE_LINK_ID, UNIQUE_NDID
 
Fields inherited from interface wt.epm.EPMObject
AUTHORING_APPLICATION, OWNER_APPLICATION
 
Fields inherited from interface wt.occurrence.OccurrenceableLink
USES_OCCURRENCE_VECTOR
 
Method Summary
 void checkAttributes()
          Validates the attributes on this EPM Member Link.
 String getAsStoredChildName()
          Gets the value of the attribute: AS_STORED_CHILD_NAME.
 EPMAuthoringAppType getAuthoringApplication()
          Gets the value of the attribute: AUTHORING_APPLICATION.
 int getDepType()
          Gets the value of the attribute: DEP_TYPE.
 Integer getIdentifier()
          Gets the value of the attribute: IDENTIFIER.
 EPMApplicationType getOwnerApplication()
          Gets the value of the attribute: OWNER_APPLICATION.
 Quantity getQuantity()
          Gets the object for the association that plays role: QUANTITY.
 Transform getTransform()
          Gets the object for the association that plays role: TRANSFORM.
 long getUniqueLinkID()
          Gets the value of the attribute: UNIQUE_LINK_ID.
 String getUniqueNDId()
          Gets the value of the attribute: UNIQUE_NDID.
 Vector getUsesOccurrenceVector()
          Gets the value of the attribute: USES_OCCURRENCE_VECTOR.
 boolean hasTransform()
          Returns whether or not this member link has a transform.
protected  void initialize(EPMDocument usedBy, EPMDocumentMaster uses, String asStoredChildName, int depType)
          Supports initialization, following construction of an instance.
 boolean isRequired()
          Gets the value of the attribute: REQUIRED.
static EPMMemberLink newEPMMemberLink(EPMDocument usedBy, EPMDocumentMaster uses)
          Constructs an EPMMemberLink.
static EPMMemberLink newEPMMemberLink(EPMDocument usedBy, EPMDocumentMaster uses, String asStoredChildName, int depType)
          Constructs an EPMMemberLink.
 void setAsStoredChildName(String a_AsStoredChildName)
          Sets the value of the attribute: AS_STORED_CHILD_NAME.
 void setDepType(int a_DepType)
          Sets the value of the attribute: DEP_TYPE.
 void setIdentifier(int a_Identifier)
          Sets the identifier on this EPMMemberLink.
 void setIdentifier(Integer a_Identifier)
          Sets the value of the attribute: IDENTIFIER.
 void setQuantity(Quantity a_Quantity)
          Sets the object for the association that plays role: QUANTITY.
 void setRequired(boolean a_Required)
          Sets the value of the attribute: REQUIRED.
 void setTransform(Transform a_Transform)
          Sets the object for the association that plays role: TRANSFORM.
 void setUniqueLinkID(long a_UniqueLinkID)
          Sets the value of the attribute: UNIQUE_LINK_ID.
 void setUniqueNDId(String a_UniqueNDId)
          Sets the value of the attribute: UNIQUE_NDID.
 void setUses(Mastered uses)
          Sets the object for the association that plays role: USES_ROLE.
 void setUsesOccurrenceVector(Vector a_UsesOccurrenceVector)
          Sets the value of the attribute: USES_OCCURRENCE_VECTOR.
 
Methods inherited from class wt.vc.struct.IteratedUsageLink
getUsedBy, getUses
 
Methods inherited from class wt.fc.WTObject
getDisplayIdentifier, getDisplayIdentity, getDisplayType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

USES_ROLE

public static final String USES_ROLE
Label for the attribute.

Supported API: true

See Also:
Constant Field Values

IDENTIFIER

public static final String IDENTIFIER
Label for the attribute; an integer identifier that an application may assign to an EPMMemberLink.

Supported API: true

See Also:
Constant Field Values

TRANSFORM

public static final String TRANSFORM
Label for the attribute.

Supported API: true

See Also:
Constant Field Values

QUANTITY

public static final String QUANTITY
Label for the attribute.

Supported API: true

See Also:
Constant Field Values
Method Detail

setUses

public void setUses(Mastered uses)
             throws WTPropertyVetoException
Sets the object for the association that plays role: USES_ROLE.

Supported API: true

Overrides:
setUses in class IteratedUsageLink
Parameters:
uses -
Throws:
WTPropertyVetoException

getIdentifier

public Integer getIdentifier()
Gets the value of the attribute: IDENTIFIER. an integer identifier that an application may assign to an EPMMemberLink.

Supported API: true

Returns:
Integer

setIdentifier

public void setIdentifier(Integer a_Identifier)
                   throws WTPropertyVetoException
Sets the value of the attribute: IDENTIFIER. an integer identifier that an application may assign to an EPMMemberLink.

Supported API: true

Parameters:
a_Identifier -
Throws:
WTPropertyVetoException

getTransform

public Transform getTransform()
Gets the object for the association that plays role: TRANSFORM.

Supported API: true

Returns:
Transform

setTransform

public void setTransform(Transform a_Transform)
                  throws WTPropertyVetoException
Sets the object for the association that plays role: TRANSFORM.

Supported API: true

Parameters:
a_Transform -
Throws:
WTPropertyVetoException

getQuantity

public Quantity getQuantity()
Gets the object for the association that plays role: QUANTITY.

Supported API: true

Returns:
Quantity

setQuantity

public void setQuantity(Quantity a_Quantity)
Sets the object for the association that plays role: QUANTITY.

Supported API: true

Parameters:
a_Quantity -

newEPMMemberLink

public static EPMMemberLink newEPMMemberLink(EPMDocument usedBy,
                                             EPMDocumentMaster uses,
                                             String asStoredChildName,
                                             int depType)
                                      throws WTException
Constructs an EPMMemberLink.

By default, this constructor sets 'required' to false, 'suppressed' to false, 'name' to null, 'identifier' to null, 'quantity' to 1, 'placed' to false and 'transform' to null.

Supported API: true

Parameters:
usedBy -
uses -
asStoredChildName -
depType -
Returns:
EPMMemberLink
Throws:
WTException

initialize

protected void initialize(EPMDocument usedBy,
                          EPMDocumentMaster uses,
                          String asStoredChildName,
                          int depType)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: true

Parameters:
usedBy -
uses -
asStoredChildName -
depType -
Throws:
WTException

newEPMMemberLink

public static EPMMemberLink newEPMMemberLink(EPMDocument usedBy,
                                             EPMDocumentMaster uses)
                                      throws WTException
Constructs an EPMMemberLink.

By default, this constructor sets 'asStoredChildName' to null, 'depType' to UNSPECIFIED, 'required' to false, 'suppressed' to false, 'name' to null, 'identifier' to null, 'quantity' to 1, 'placed' to false and 'transform' to null.

Supported API: true

Parameters:
usedBy -
uses -
Returns:
EPMMemberLink
Throws:
WTException

hasTransform

public boolean hasTransform()
Returns whether or not this member link has a transform. The application may choose to place the member but not publish its transform. In that case, this method will return false while isPlaced() will return true.

Supported API: true

Returns:
boolean

setIdentifier

public void setIdentifier(int a_Identifier)
                   throws WTPropertyVetoException
Sets the identifier on this EPMMemberLink.

Supported API: true

Parameters:
a_Identifier -
Throws:
WTPropertyVetoException

checkAttributes

public void checkAttributes()
                     throws InvalidAttributeException
Validates the attributes on this EPM Member Link.

In particular, this method enforces the following rules: a) If a member link has a transform, its quantity must be one and its placed flag must be true.

Supported API: true

Specified by:
checkAttributes in interface EPMObject
Throws:
InvalidAttributeException

getAsStoredChildName

public String getAsStoredChildName()
Gets the value of the attribute: AS_STORED_CHILD_NAME. Specifies the name of the "child" document as it was known by the application when it created the dependency link. Applications often internally save the names of documents that they reference. This field enables those applications to find the correct document after it is renamed.

Supported API: true

Specified by:
getAsStoredChildName in interface EPMDependencyLink
Returns:
String

setAsStoredChildName

public void setAsStoredChildName(String a_AsStoredChildName)
                          throws WTPropertyVetoException
Sets the value of the attribute: AS_STORED_CHILD_NAME. Specifies the name of the "child" document as it was known by the application when it created the dependency link. Applications often internally save the names of documents that they reference. This field enables those applications to find the correct document after it is renamed.

Supported API: true

Specified by:
setAsStoredChildName in interface EPMDependencyLink
Parameters:
a_AsStoredChildName -
Throws:
WTPropertyVetoException

getDepType

public int getDepType()
Gets the value of the attribute: DEP_TYPE. an integer that authoring application may use to designate the type of dependency

Supported API: true

Specified by:
getDepType in interface EPMDependencyLink
Returns:
int

setDepType

public void setDepType(int a_DepType)
                throws WTPropertyVetoException
Sets the value of the attribute: DEP_TYPE. an integer that authoring application may use to designate the type of dependency

Supported API: true

Specified by:
setDepType in interface EPMDependencyLink
Parameters:
a_DepType -
Throws:
WTPropertyVetoException

isRequired

public boolean isRequired()
Gets the value of the attribute: REQUIRED. Designates that the authoring application requires the "child" document in order to work with the "parent" document.

Supported API: true

Specified by:
isRequired in interface EPMDependencyLink
Returns:
boolean

setRequired

public void setRequired(boolean a_Required)
                 throws WTPropertyVetoException
Sets the value of the attribute: REQUIRED. Designates that the authoring application requires the "child" document in order to work with the "parent" document.

Supported API: true

Specified by:
setRequired in interface EPMDependencyLink
Parameters:
a_Required -
Throws:
WTPropertyVetoException

getUniqueLinkID

public long getUniqueLinkID()
Gets the value of the attribute: UNIQUE_LINK_ID. An internally generated unique link identifier. It may be read but not changed.

Supported API: true

Specified by:
getUniqueLinkID in interface EPMDependencyLink
Returns:
long

setUniqueLinkID

public void setUniqueLinkID(long a_UniqueLinkID)
                     throws WTPropertyVetoException
Sets the value of the attribute: UNIQUE_LINK_ID. An internally generated unique link identifier. It may be read but not changed.

Supported API: true

Specified by:
setUniqueLinkID in interface EPMDependencyLink
Parameters:
a_UniqueLinkID -
Throws:
WTPropertyVetoException

getUniqueNDId

public String getUniqueNDId()
Gets the value of the attribute: UNIQUE_NDID.

Supported API: true

Specified by:
getUniqueNDId in interface EPMDependencyLink
Returns:
String

setUniqueNDId

public void setUniqueNDId(String a_UniqueNDId)
                   throws WTPropertyVetoException
Sets the value of the attribute: UNIQUE_NDID.

Supported API: true

Specified by:
setUniqueNDId in interface EPMDependencyLink
Parameters:
a_UniqueNDId -
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

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

getUsesOccurrenceVector

public Vector getUsesOccurrenceVector()
Gets the value of the attribute: USES_OCCURRENCE_VECTOR. Each element of this non-persistent Vector contains UsesOccurrences, each of which may contain a PathOccurrence. Note that any implementation of this interface must provide server-side APIs that specifically populate this Vector, otherwise it will be null.

Supported API: true

Specified by:
getUsesOccurrenceVector in interface OccurrenceableLink
Returns:
Vector

setUsesOccurrenceVector

public void setUsesOccurrenceVector(Vector a_UsesOccurrenceVector)
Sets the value of the attribute: USES_OCCURRENCE_VECTOR. Each element of this non-persistent Vector contains UsesOccurrences, each of which may contain a PathOccurrence. Note that any implementation of this interface must provide server-side APIs that specifically populate this Vector, otherwise it will be null.

Supported API: true

Specified by:
setUsesOccurrenceVector in interface OccurrenceableLink
Parameters:
a_UsesOccurrenceVector -