org.jupe.editors.classdiagram.model.nodes
Class ObjectElement

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.nodes.NodeModelElement
              extended by org.jupe.editors.classdiagram.model.nodes.ObjectElement
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, org.eclipse.ui.views.properties.IPropertySource, IConstants, IContainerElement

public class ObjectElement
extends NodeModelElement
implements IConstants, IContainerElement

Element to represent an object (an instance of a class) in an class diagram.

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 ABS_TYPE_NAME_PROP
          PropertyID for type of the object.
static java.lang.String INSTANCE_NAME_PROP
          PropertyID for the name of the instance.
 
Fields inherited from class org.jupe.editors.classdiagram.model.nodes.NodeModelElement
CHILD_ADDED_PROP, CHILD_REMOVED_PROP, CONNECTIONS_PROP, LOCATION_PROP, SIZE_PROP, SOURCE_CONNECTIONS_PROP, TARGET_CONNECTIONS_PROP
 
Fields inherited from class org.jupe.editors.classdiagram.model.ModelElement
GENERAL_CHANGE_PROP
 
Fields inherited from interface org.jupe.editors.classdiagram.IConstants
AGGREGATION_STR, ASSOCIATION_STR, ATTRIBUTE_STR, COMMENT_CONN_STR, COMPOSITION_STR, DEPENDENCY_STR, FALSE_STR, GENERALIZATION_STR, IMPLEMENTATION_STR, METHOD_STR, PRIVATE_STR, PROTECTED_STR, PUBLIC_STR, TRUE_STR
 
Constructor Summary
ObjectElement()
           
ObjectElement(org.eclipse.uml2.uml.InstanceSpecification uml2element)
           
 
Method Summary
 boolean assimilate(NodeModelElement element)
          Assimilates a model element that already exists, but whose uml2 reference has not yet been set.
 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 propertyId)
          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)
          Children should override this method, call super.setUML2Element(uml2Element) and then update their UML2Element accordingly.
 
Methods inherited from class org.jupe.editors.classdiagram.model.nodes.NodeModelElement
addChild, addConnection, addToHash, getAllChildren, getChildren, getClassDiagram, getLocation, getParent, getSize, getSourceConnections, getTargetConnections, notifyChanged, removeChild, removeConnection, removeFromHash, removeFromModel, setLocation, setSize, setSourceConnections, setTargetConnections
 
Methods inherited from class org.jupe.editors.classdiagram.model.ModelElement
addPropertyChangeListener, getEditableValue, getPropertyDescriptors, 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

ABS_TYPE_NAME_PROP

public static final java.lang.String ABS_TYPE_NAME_PROP
PropertyID for type of the object. Should be displayed. If possible, it's the absolute name of the type (e.g."java.lang.String").

Value: String

The type is stored as "classifier" in the InstanceSpecification. We only use the first value of the classifier list.

See Also:
Constant Field Values

INSTANCE_NAME_PROP

public static final java.lang.String INSTANCE_NAME_PROP
PropertyID for the name of the instance. Should be displayed.

Value: String

See Also:
Constant Field Values
Constructor Detail

ObjectElement

public ObjectElement()

ObjectElement

public ObjectElement(org.eclipse.uml2.uml.InstanceSpecification uml2element)
Method Detail

setUML2Element

public void setUML2Element(org.eclipse.uml2.uml.Element uml2Element)
Description copied from class: ModelElement
Children should override this method, call super.setUML2Element(uml2Element) and then update their UML2Element accordingly.

Overrides:
setUML2Element in class ModelElement
Parameters:
uml2Element - the new uml2 reference for the model element

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

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
Overrides:
setPropertyValue in class NodeModelElement
See Also:
eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)

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
Overrides:
getPropertyValue in class NodeModelElement
See Also:
eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)

isPropertySet

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

Specified by:
isPropertySet in interface org.eclipse.ui.views.properties.IPropertySource
Overrides:
isPropertySet in class NodeModelElement
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
Overrides:
resetPropertyValue in class NodeModelElement
See Also:
IPropertySource.resetPropertyValue(java.lang.Object)

assimilate

public boolean assimilate(NodeModelElement element)
Description copied from interface: IContainerElement
Assimilates a model element that already exists, but whose uml2 reference has not yet been set. It will be set in this method.

The assimilate methods should be called after the user has created an element in the editor. While the element is created, it isn't yet clear in which container it will be placed (directly in the diagram, a package, ...). That's why the process is split up in two parts (whereof this method is the second).

After the uml2 reference is set, the model element is added to the parent's child list.

Specified by:
assimilate in interface IContainerElement
Parameters:
element - The model element to assimilate to this container.
Returns:
True, if successful, false otherwise.