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

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.PackageElement
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, org.eclipse.ui.views.properties.IPropertySource, IContainerElement

public class PackageElement
extends NodeModelElement
implements IContainerElement

Class that'll be used to represent a Package in a Class diagram.

Author:
Carlos, Michael Pradel

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_NAME_PROP
          PropertyID for the absolute name of the package.
static java.lang.String NAME_PROP
          PropertyID for the relative name of this package.
 
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
 
Constructor Summary
PackageElement()
          This constructor should only be used, when at creation time of the package its parent element isn't clear.
PackageElement(org.eclipse.uml2.uml.Package umlPackage)
          Constructor with creates a PackageElement with the given UML2 element.
 
Method Summary
 boolean assimilate(NodeModelElement modelElement)
          Creates a UML2 element to a given NodeModelElement.
 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

NAME_PROP

public static final java.lang.String NAME_PROP
PropertyID for the relative name of this package. Should be displayed.

Value: String.

See Also:
Constant Field Values

ABS_NAME_PROP

public static final java.lang.String ABS_NAME_PROP
PropertyID for the absolute name of the package. Should not be displayed.

Value: String.

See Also:
Constant Field Values
Constructor Detail

PackageElement

public PackageElement()
This constructor should only be used, when at creation time of the package its parent element isn't clear. After that, the reference to the UML2 object must be created calling ModelElement#setParent(ModelElement) and #addUML2Reference(). If these methods aren't called before the first real usage of the model, you can expect arbitrary behaviour. If you know the parent element at creation time, use PackageElement#createInnerPackage(String) or ClassDiagramElement#createPackage(String) instead.


PackageElement

public PackageElement(org.eclipse.uml2.uml.Package umlPackage)
Constructor with creates a PackageElement with the given UML2 element.

Parameters:
umlPackage - the given UML2 element
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
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)

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)

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

assimilate

public boolean assimilate(NodeModelElement modelElement)
Creates a UML2 element to a given NodeModelElement.

Specified by:
assimilate in interface IContainerElement
Parameters:
modelElement - the given NodeModelElement
Returns:
true if the UML2 element has been created successfully.
See Also:
IContainerElement.assimilate(NodeModelElement)