org.jupe.editors.classdiagram.model.connections
Class RelationElement

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.AdapterImpl
      extended by org.jupe.editors.classdiagram.model.ModelElement
          extended by org.jupe.editors.classdiagram.model.connections.ConnectionElement
              extended by org.jupe.editors.classdiagram.model.connections.RelationElement
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, org.eclipse.ui.views.properties.IPropertySource

public class RelationElement
extends ConnectionElement

Model element that represents an association, an aggregation or a composition. Since all three use the same UML2 element and have almost the same properties, there is only one class to represent them.

Author:
Steffen Klüpfel, Michael Pradel, Emanuel Thomas

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
 
Field Summary
static java.lang.String CAPTION_PROP
          PropertyID for the caption.
static java.lang.String DIRECTED_PROP
          PropertyId for the direction.
static java.lang.String ENDATTRIBUTENAME_PROP
          PropertyID for the name used by the property at the start of the assocication to name the end.
static java.lang.String ENDDESC_PROP
          PropertyID for the description corresponding to end multiplicity.
static java.lang.String ENDMULT_PROP
          PropertyId for the multiplicity at the end of a relation.
static java.lang.String STARTATTRIBUTENAME_PROP
          PropertyID for the name used by the property at the end of the association to name the start.
static java.lang.String STARTDESC_PROP
          PropertyID for the description corresponding to start multiplicity.
static java.lang.String STARTMULT_PROP
          PropertyId for the multiplicity at the start of a relation.
static java.lang.String TYPE_PROP
          PropertyId for the type of association: association, aggregation or composition.
 
Fields inherited from class org.jupe.editors.classdiagram.model.connections.ConnectionElement
ENDPOINT_PROP, SOURCE_PROP
 
Fields inherited from class org.jupe.editors.classdiagram.model.ModelElement
GENERAL_CHANGE_PROP
 
Constructor Summary
RelationElement()
          Default constructor.
RelationElement(NodeModelElement source, NodeModelElement target)
          Constructor which creates a relation with the given ends.
 
Method Summary
 java.lang.Object getPropertyValue(java.lang.Object propertyId)
          Children should override this.
 org.eclipse.uml2.uml.Element getUML2Element()
          Sets the corresponding uml2element of this model element.
 boolean isPropertySet(java.lang.Object id)
          Children should override this.
 void resetPropertyValue(java.lang.Object propertyId)
          Children should override this.
 void setPropertyValue(java.lang.Object propertyId, java.lang.Object value)
          Children should override this.
 void setUML2Element(org.eclipse.uml2.uml.Element uml2Element)
          (non-Javadoc)
 
Methods inherited from class org.jupe.editors.classdiagram.model.connections.ConnectionElement
disconnect, getChildren, getClassDiagram, getEndPoint, getSource, reconnect, reconnect, setSource, setTarget
 
Methods inherited from class org.jupe.editors.classdiagram.model.ModelElement
addPropertyChangeListener, getEditableValue, getPropertyDescriptors, notifyChanged, removePropertyChangeListener
 
Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
getTarget, isAdapterForType, setTarget, unsetTarget
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CAPTION_PROP

public static final java.lang.String CAPTION_PROP
PropertyID for the caption. Should be displayed.

Value: String

See Also:
Constant Field Values

DIRECTED_PROP

public static final java.lang.String DIRECTED_PROP
PropertyId for the direction. It indicates if a relation is directed or not. Should be displayed

Value: boolean

See Also:
Constant Field Values

ENDMULT_PROP

public static final java.lang.String ENDMULT_PROP
PropertyId for the multiplicity at the end of a relation. Should be displayed.

Value: String that is validated by the MultiplicityValidator.

See Also:
Constant Field Values

ENDDESC_PROP

public static final java.lang.String ENDDESC_PROP
PropertyID for the description corresponding to end multiplicity. Should be displayed.

Value: String

See Also:
Constant Field Values

STARTMULT_PROP

public static final java.lang.String STARTMULT_PROP
PropertyId for the multiplicity at the start of a relation. Should be displayed.

Value: String that is validated by the MultiplicityValidator.

See Also:
Constant Field Values

STARTDESC_PROP

public static final java.lang.String STARTDESC_PROP
PropertyID for the description corresponding to start multiplicity. Should be displayed.

Value: String

See Also:
Constant Field Values

STARTATTRIBUTENAME_PROP

public static final java.lang.String STARTATTRIBUTENAME_PROP
PropertyID for the name used by the property at the end of the association to name the start. Should be displayed.

Value: String

See Also:
Constant Field Values

ENDATTRIBUTENAME_PROP

public static final java.lang.String ENDATTRIBUTENAME_PROP
PropertyID for the name used by the property at the start of the assocication to name the end. Should be displayed.

Value: String

See Also:
Constant Field Values

TYPE_PROP

public static final java.lang.String TYPE_PROP
PropertyId for the type of association: association, aggregation or composition. Should be displayed.

Value: String

See Also:
Constant Field Values
Constructor Detail

RelationElement

public RelationElement()
Default constructor.


RelationElement

public RelationElement(NodeModelElement source,
                       NodeModelElement target)
Constructor which creates a relation with the given ends.

Parameters:
source - of the relation
target - of the relation
Method Detail

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.Object propertyId)
Description copied from class: ModelElement
Children should override this.

Specified by:
getPropertyValue in interface org.eclipse.ui.views.properties.IPropertySource
Specified by:
getPropertyValue in class ModelElement
See Also:
eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)

getUML2Element

public org.eclipse.uml2.uml.Element getUML2Element()
Description copied from class: ModelElement
Sets the corresponding uml2element of this model element. This method should only be called by IContainerElements in their create.. methods. This method has to be implemented by each subclass which have themselves to set as an adapter of the element.

Specified by:
getUML2Element in class ModelElement

isPropertySet

public boolean isPropertySet(java.lang.Object id)
Description copied from class: ModelElement
Children should override this.

Specified by:
isPropertySet in interface org.eclipse.ui.views.properties.IPropertySource
Specified by:
isPropertySet in class ModelElement
See Also:
eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)

resetPropertyValue

public void resetPropertyValue(java.lang.Object propertyId)
Description copied from class: ModelElement
Children should override this.

Specified by:
resetPropertyValue in interface org.eclipse.ui.views.properties.IPropertySource
Specified by:
resetPropertyValue in class ModelElement
See Also:
IPropertySource.resetPropertyValue(java.lang.Object)

setPropertyValue

public void setPropertyValue(java.lang.Object propertyId,
                             java.lang.Object value)
Description copied from class: ModelElement
Children should override this.

Specified by:
setPropertyValue in interface org.eclipse.ui.views.properties.IPropertySource
Specified by:
setPropertyValue in class ModelElement
See Also:
eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)

setUML2Element

public void setUML2Element(org.eclipse.uml2.uml.Element uml2Element)
Description copied from class: ConnectionElement
(non-Javadoc)

Overrides:
setUML2Element in class ConnectionElement
Parameters:
uml2Element - the new uml2 reference for the model element
See Also:
org.jupe.editors.classdiagram.model.ModelElement#setUML2Element(org.eclipse.uml2.Element)