org.opencrx.kernel.model1.jdo2
Class AssociationEnd

java.lang.Object
  extended by org.oasisopen.jdo2.Identifiable
      extended by org.w3c.jdo2.AbstractObject
          extended by org.opencrx.kernel.model1.jdo2.Element
              extended by org.opencrx.kernel.model1.jdo2.AssociationEnd
All Implemented Interfaces:
Serializable, AlertSender, Auditee, Cloneable, Exporter, Importer, Indexed, SecureObject, CrxObject, AssociationEnd, Element, TypedElement, BasicObject, ContextCapable, ExtentCapable, ViewCapable

public class AssociationEnd
extends Element
implements AssociationEnd

Class AssociationEnd

An association is composed of two AssociationEnds. Each AssociationEnd defines a Classifier participant in the Association, the role it plays, and constraints on sets of the Classifier instances participating. An instance of an AssociationEnd is a LinkEnd, which defines a relationship between a link, in instance of an Association, and an instance of the AssociationEnd's Classifier, provided in its type attribute.

See Also:
Serialized Form

Nested Class Summary
static class AssociationEnd.Slice
          Slice object hold the AssociationEnd's multivalued attributes
 
Nested classes/interfaces inherited from class org.opencrx.kernel.model1.jdo2.Element
Element.Identity
 
Nested classes/interfaces inherited from class org.w3c.jdo2.AbstractObject
org.w3c.jdo2.AbstractObject.EmbeddedList<E>, org.w3c.jdo2.AbstractObject.EmbeddedSet<E>
 
Nested classes/interfaces inherited from interface org.opencrx.kernel.model1.cci2.Element
Element.Identity
 
Field Summary
static List<String> CLASS
          Define the model class org::opencrx::kernel::model1::AssociationEnd
 
Fields inherited from class org.opencrx.kernel.model1.jdo2.Element
BASE_CLASS
 
Constructor Summary
AssociationEnd()
           
 
Method Summary
 short getAggregation()
          Retrieves the value for the attribute aggregation.
 short getMultiplicity()
          Retrieves the value for the attribute multiplicity.
 List<String> getQualifierName()
          Retrieves a list containing all the elements for the attribute qualifierName.
<T extends Classifier>
List<T>
getQualifierType()
          Retrieves the Collection of objects referenced by qualifierType.
 Classifier getType()
          Retrieves the value for the reference type.
 Integer getUpperBound()
          Retrieves the possibly null value for the optional attribute upperBound.
 boolean isChangeable()
          Retrieves the value for the attribute isChangeable.
 boolean isNavigable()
          Retrieves the value for the attribute isNavigable.
static Element.Identity newIdentity(Segment.Identity segment, QualifierType idType, String id)
           
protected  org.w3c.jdo2.AbstractObject.Slice newSlice(int index)
           
protected  List<String> openmdxjdoGetClass()
          Retrieve the model class
protected  int openmdxjdoGetSize(int field)
           
protected  void openmdxjdoSetSize(int field, int size)
           
static Element.Identity openmdxjdoToIdentity(ObjectId objectId)
           
 void setAggregation(short aggregation)
          Sets a new value for the attribute aggregation.
 void setChangeable(boolean isChangeable)
          Sets a new value for the attribute isChangeable.
 void setMultiplicity(short multiplicity)
          Sets a new value for the attribute multiplicity.
 void setNavigable(boolean isNavigable)
          Sets a new value for the attribute isNavigable.
 void setQualifierName(String... qualifierName)
          Clears qualifierName and adds the given value(s).
 void setType(Classifier type)
          Sets a new value for the reference type.
 void setUpperBound(Integer upperBound)
          Sets a new value for the attribute upperBound.
 
Methods inherited from class org.opencrx.kernel.model1.jdo2.Element
addOwningGroup, addToSegment, addToSegment, checkPermissions, clone_, exportItem, exportItemAdvanced, getAccessGrantedByParent, getAccessLevelBrowse, getAccessLevelDelete, getAccessLevelUpdate, getAdditionalExternalLink, getAnnotation, getAttachedDocument, getAudit, getCategory, getContainer, getContext, getCreatedAt, getCreatedBy, getDisabledReason, getDocumentFolderAssignment, getElementOrder, getExternalLink, getIdentity, getIndexEntry, getMedia, getModifiedAt, getModifiedBy, getName, getNote, getOwner, getOwningGroup, getOwningUser, getPropertySet, getPropertySetEntry, getQualifiedName, getRating, getSegment, getStereotype, getUserBoolean4, getUserCode0, getUserCode1, getUserCode2, getUserCode3, getUserCode4, getUserDate0, getUserDate1, getUserDate2, getUserDate3, getUserDate4, getUserDateTime0, getUserDateTime1, getUserDateTime2, getUserDateTime3, getUserDateTime4, getUserNumber0, getUserNumber1, getUserNumber2, getUserNumber3, getUserNumber4, getUserString0, getUserString1, getUserString2, getUserString3, getUserString4, getView, importItem, isDisabled, isUserBoolean0, isUserBoolean1, isUserBoolean2, isUserBoolean3, openmdxjdoGetObjectId, openmdxjdoGetSlices, removeAllOwningGroup, removeOwningGroup, replaceOwningGroup, sendAlert, setAccessLevel, setAccessLevelBrowse, setAccessLevelDelete, setAccessLevelUpdate, setAnnotation, setCategory, setContainer, setDisabled, setDisabledReason, setElementOrder, setExternalLink, setName, setOwningUser, setOwningUser, setStereotype, setUserBoolean0, setUserBoolean1, setUserBoolean2, setUserBoolean3, setUserBoolean4, setUserCode0, setUserCode1, setUserCode2, setUserCode3, setUserCode4, setUserDate0, setUserDate1, setUserDate2, setUserDate3, setUserDate4, setUserDateTime0, setUserDateTime1, setUserDateTime2, setUserDateTime3, setUserDateTime4, setUserNumber0, setUserNumber1, setUserNumber2, setUserNumber3, setUserNumber4, setUserString0, setUserString1, setUserString2, setUserString3, setUserString4, updateIndex
 
Methods inherited from class org.w3c.jdo2.AbstractObject
openmdxjdoClassName, openmdxjdoGetIdentityBuilder, openmdxjdoGetList, openmdxjdoGetObjectsByParent, openmdxjdoGetSet, openmdxjdoGetSparseArray, openmdxjdoNewMap, openmdxjdoNewSlice, openmdxjdoSetArray, openmdxjdoSetCollection, openmdxjdoToArray, openmdxjdoToArray, openmdxjdoValidateElement
 
Methods inherited from class org.oasisopen.jdo2.Identifiable
jdoClass, modelClasses, openmdxjdoGetObject, openmdxjdoGetObjectById, openmdxjdoGetObjectId, openmdxjdoGetObjectSet, openmdxjdoNewObjectId, openmdxjdoNewObjectId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opencrx.kernel.model1.cci2.Element
getAnnotation, getContainer, getElementOrder, getName, getQualifiedName, getSegment, getStereotype, setAnnotation, setContainer, setElementOrder, setName, setStereotype
 
Methods inherited from interface org.opencrx.kernel.generic.cci2.CrxObject
getAdditionalExternalLink, getAttachedDocument, getCategory, getDisabledReason, getDocumentFolderAssignment, getExternalLink, getMedia, getNote, getPropertySet, getPropertySetEntry, getRating, getUserBoolean4, getUserCode0, getUserCode1, getUserCode2, getUserCode3, getUserCode4, getUserDate0, getUserDate1, getUserDate2, getUserDate3, getUserDate4, getUserDateTime0, getUserDateTime1, getUserDateTime2, getUserDateTime3, getUserDateTime4, getUserNumber0, getUserNumber1, getUserNumber2, getUserNumber3, getUserNumber4, getUserString0, getUserString1, getUserString2, getUserString3, getUserString4, isDisabled, isUserBoolean0, isUserBoolean1, isUserBoolean2, isUserBoolean3, setCategory, setDisabled, setDisabledReason, setExternalLink, setUserBoolean0, setUserBoolean1, setUserBoolean2, setUserBoolean3, setUserBoolean4, setUserCode0, setUserCode1, setUserCode2, setUserCode3, setUserCode4, setUserDate0, setUserDate1, setUserDate2, setUserDate3, setUserDate4, setUserDateTime0, setUserDateTime1, setUserDateTime2, setUserDateTime3, setUserDateTime4, setUserNumber0, setUserNumber1, setUserNumber2, setUserNumber3, setUserNumber4, setUserString0, setUserString1, setUserString2, setUserString3, setUserString4
 
Methods inherited from interface org.opencrx.kernel.base.cci2.AlertSender
sendAlert
 
Methods inherited from interface org.opencrx.kernel.base.cci2.Auditee
getAudit
 
Methods inherited from interface org.opencrx.kernel.base.cci2.Cloneable
clone_
 
Methods inherited from interface org.opencrx.kernel.base.cci2.Exporter
exportItem, exportItemAdvanced
 
Methods inherited from interface org.opencrx.kernel.base.cci2.Importer
importItem
 
Methods inherited from interface org.opencrx.kernel.base.cci2.Indexed
getIndexEntry, updateIndex
 
Methods inherited from interface org.opencrx.kernel.base.cci2.SecureObject
addOwningGroup, checkPermissions, getAccessGrantedByParent, getAccessLevelBrowse, getAccessLevelDelete, getAccessLevelUpdate, getOwner, getOwningGroup, getOwningUser, removeAllOwningGroup, removeOwningGroup, replaceOwningGroup, setAccessLevel, setAccessLevelBrowse, setAccessLevelDelete, setAccessLevelUpdate, setOwningUser, setOwningUser
 
Methods inherited from interface org.openmdx.base.cci2.BasicObject
getCreatedAt, getCreatedBy, getModifiedAt, getModifiedBy
 
Methods inherited from interface org.openmdx.base.cci2.ContextCapable
getContext
 
Methods inherited from interface org.openmdx.base.cci2.ExtentCapable
getIdentity
 
Methods inherited from interface org.openmdx.compatibility.view1.cci2.ViewCapable
getView
 

Field Detail

CLASS

public static final List<String> CLASS
Define the model class org::opencrx::kernel::model1::AssociationEnd

Constructor Detail

AssociationEnd

public AssociationEnd()
Method Detail

getMultiplicity

public short getMultiplicity()
Retrieves the value for the attribute multiplicity.

Multiplicity defines constraints on sets of instances. Each instance of the Classifier defined by the opposite AssociationEnd's type defines a set which this multiplicity attribute constrains. Given one of those instances, x, the set is defined as the instances connected by LinkEnds of this AssociationEnd to that instance x. In its use is describing AssociationEnds, isUnique has been constrained to be true, as a simplification. This constraint means that the same two instances cannot participate in more than one Link while participating under the same AssociationEnd. Normally, two instances cannot be linked by more than one Link of an Association at all. But when the AssociationEnd types allow the two instances switch ends, they can form a second Link without violating the isUnique constraint.

Specified by:
getMultiplicity in interface AssociationEnd
Returns:
The non-null value for attribute multiplicity.

setMultiplicity

public void setMultiplicity(short multiplicity)
Sets a new value for the attribute multiplicity.

Multiplicity defines constraints on sets of instances. Each instance of the Classifier defined by the opposite AssociationEnd's type defines a set which this multiplicity attribute constrains. Given one of those instances, x, the set is defined as the instances connected by LinkEnds of this AssociationEnd to that instance x. In its use is describing AssociationEnds, isUnique has been constrained to be true, as a simplification. This constraint means that the same two instances cannot participate in more than one Link while participating under the same AssociationEnd. Normally, two instances cannot be linked by more than one Link of an Association at all. But when the AssociationEnd types allow the two instances switch ends, they can form a second Link without violating the isUnique constraint.

Specified by:
setMultiplicity in interface AssociationEnd
Parameters:
multiplicity - The non-null new value for attribute multiplicity.

getType

public Classifier getType()
Retrieves the value for the reference type.

Specified by:
getType in interface TypedElement
Returns:
The non-null value for this reference.

setType

public void setType(Classifier type)
Sets a new value for the reference type.

Specified by:
setType in interface TypedElement
Parameters:
type - The non-null new value for this reference.

getQualifierType

public <T extends Classifier> List<T> getQualifierType()
Retrieves the Collection of objects referenced by qualifierType.

Specified by:
getQualifierType in interface AssociationEnd
Returns:
The Collection of referenced objects.

getAggregation

public short getAggregation()
Retrieves the value for the attribute aggregation.

Certain associations define aggregations - directed associations with additional semantics. When an AssociationEnd is defined as composite or shared, the instance at 'this' end of a Link is the composite or aggregate, and the instance at the 'other' end is the component or subordinate..

Specified by:
getAggregation in interface AssociationEnd
Returns:
The non-null value for attribute aggregation.

setAggregation

public void setAggregation(short aggregation)
Sets a new value for the attribute aggregation.

Certain associations define aggregations - directed associations with additional semantics. When an AssociationEnd is defined as composite or shared, the instance at 'this' end of a Link is the composite or aggregate, and the instance at the 'other' end is the component or subordinate..

Specified by:
setAggregation in interface AssociationEnd
Parameters:
aggregation - The non-null new value for attribute aggregation.

getQualifierName

public final List<String> getQualifierName()
Retrieves a list containing all the elements for the attribute qualifierName.

Specified by:
getQualifierName in interface AssociationEnd
Returns:
A list containing all elements for this attribute.

setQualifierName

public void setQualifierName(String... qualifierName)
Clears qualifierName and adds the given value(s).

This method is equivalent to

   list.clear();
   for(java.lang.String e : attributeName){
     list.add(e);
   }
 

Specified by:
setQualifierName in interface AssociationEnd
Parameters:
qualifierName - value(s) to be added to qualifierName

isChangeable

public boolean isChangeable()
Retrieves the value for the attribute isChangeable.

The isChangeable attribute restricts the capability to perform actions that would modify sets of instances corresponding to this AssociationEnd (the same sets to which multiplicity is applied). Specifically, the set may be created when the instance defining the set - the instance at the opposite end of the Links - is created. This attribute does not make the set immutable. Instead, it affects the generation of operations in Model Elaboration which would allow modification of the set. For IDL generation, the only operation that allows the set to be modified would be one or more factory operations that create the instance and create the set. The modeler is free to define specific operations that allow modification of the set. Note that defining this AssociationEnd with isChangeable equals false places restrictions on the changeability of the other AssociationEnd, due to their interdependence.

Specified by:
isChangeable in interface AssociationEnd
Returns:
The non-null value for attribute isChangeable.

setChangeable

public void setChangeable(boolean isChangeable)
Sets a new value for the attribute isChangeable.

The isChangeable attribute restricts the capability to perform actions that would modify sets of instances corresponding to this AssociationEnd (the same sets to which multiplicity is applied). Specifically, the set may be created when the instance defining the set - the instance at the opposite end of the Links - is created. This attribute does not make the set immutable. Instead, it affects the generation of operations in Model Elaboration which would allow modification of the set. For IDL generation, the only operation that allows the set to be modified would be one or more factory operations that create the instance and create the set. The modeler is free to define specific operations that allow modification of the set. Note that defining this AssociationEnd with isChangeable equals false places restrictions on the changeability of the other AssociationEnd, due to their interdependence.

Specified by:
setChangeable in interface AssociationEnd
Parameters:
isChangeable - The non-null new value for attribute isChangeable.

getUpperBound

public final Integer getUpperBound()
Retrieves the possibly null value for the optional attribute upperBound.

Specified by:
getUpperBound in interface AssociationEnd
Returns:
The possibly null value for attribute upperBound.

setUpperBound

public void setUpperBound(Integer upperBound)
Sets a new value for the attribute upperBound.

Specified by:
setUpperBound in interface AssociationEnd
Parameters:
upperBound - The possibly null new value for attribute upperBound.

isNavigable

public boolean isNavigable()
Retrieves the value for the attribute isNavigable.

The isNavigable attribute determines whether or not the AssociationEnd supports link 'navigation'. This has two implications:

Specified by:
isNavigable in interface AssociationEnd
Returns:
The non-null value for attribute isNavigable.

setNavigable

public void setNavigable(boolean isNavigable)
Sets a new value for the attribute isNavigable.

The isNavigable attribute determines whether or not the AssociationEnd supports link 'navigation'. This has two implications:

Specified by:
setNavigable in interface AssociationEnd
Parameters:
isNavigable - The non-null new value for attribute isNavigable.

openmdxjdoGetSize

protected int openmdxjdoGetSize(int field)
Overrides:
openmdxjdoGetSize in class Element

openmdxjdoSetSize

protected void openmdxjdoSetSize(int field,
                                 int size)
Overrides:
openmdxjdoSetSize in class Element

newSlice

protected org.w3c.jdo2.AbstractObject.Slice newSlice(int index)
Overrides:
newSlice in class Element

openmdxjdoGetClass

protected List<String> openmdxjdoGetClass()
Retrieve the model class

Overrides:
openmdxjdoGetClass in class Element
Returns:
the model class
See Also:
AssociationEnd.CLASS

newIdentity

public static Element.Identity newIdentity(Segment.Identity segment,
                                           QualifierType idType,
                                           String id)

openmdxjdoToIdentity

public static Element.Identity openmdxjdoToIdentity(ObjectId objectId)


This software is published under the BSD license. Copyright © 2003-2008, CRIXP AG, Switzerland, All rights reserved. Use is subject to license terms.