uk.ac.ucl.cs.uml.jmi.Foundation.Core
Interface ModelElement

All Superinterfaces:
Element, ExtObject, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject
All Known Subinterfaces:
Abstraction, Action, ActionState, ActivityGraph, Actor, AddAttributeValueAction, AddVariableValueAction, ApplyFunctionAction, ArgumentSpecification, Artifact, Association, AssociationEnd, AssociationEndRole, AssociationRole, AssociationUMLClass, AsynchronousInvocationAction, Attribute, AttributeAction, AttributeLink, BehavioralFeature, Binding, BroadcastSignalAction, CallEvent, CallOperationAction, CallProcedureAction, CallState, ChangeEvent, Classifier, ClassifierInState, ClassifierRole, ClearAssociationAction, ClearAttributeAction, ClearVariableAction, CodeAction, Collaboration, CollaborationInstanceSet, CollectionAction, Comment, Component, ComponentInstance, CompositeState, ConditionalAction, Constraint, ControlFlow, CreateLinkAction, CreateLinkObjectAction, CreateObjectAction, DataFlow, DataType, DataValue, Dependency, DestroyLinkAction, DestroyObjectAction, Enumeration, EnumerationLiteral, Event, ExplicitInvocationAction, Extend, ExtensionPoint, Feature, FilterAction, FinalState, Flow, GeneralizableElement, Generalization, GroupAction, Guard, HandlerAction, Include, InputPin, Instance, InteractionInstanceSet, InvocationAction, IterateAction, JumpAction, Link, LinkAction, LinkEnd, LinkObject, LiteralValueAction, LoopAction, MapAction, MarshalAction, Message, Method, Model, Namespace, Node, NodeInstance, NullAction, ObjectFlowState, Operation, OutputPin, Parameter, Partition, Permission, Pin, Primitive, PrimitiveAction, PrimitiveFunction, Procedure, ProgrammingLanguageDataType, PseudoState, ReadAttributeAction, ReadExtentAction, ReadIsClassifiedObjectAction, ReadLinkAction, ReadLinkObjectAction, ReadLinkObjectQualifierAction, ReadSelfAction, ReadVariableAction, Reception, ReclassifyObjectAction, ReduceAction, Relationship, RemoveAttributeValueAction, RemoveVariableValueAction, SendSignalAction, Signal, SignalEvent, SimpleState, StartObjectStateMachineAction, State, StateMachine, StateVertex, Stereotype, Stimulus, StructuralFeature, StubState, SubactivityState, SubmachineState, Subsystem, SubsystemInstance, SynchronousInvocationAction, SynchState, TagDefinition, TaggedValue, TestIdentifyAction, TimeEvent, Transition, Transition, UMLClass, UMLException, UMLInterface, UMLObject, UMLPackage, UnmarshalAction, Usage, UseCase, UseCaseInstance, Variable, VariableAction, WriteAttributeAction, WriteLinkAction, WriteVariableAction
All Known Implementing Classes:
Abstraction_Impl, Action_Impl, ActionState_Impl, ActivityGraph_Impl, Actor_Impl, AddAttributeValueAction_Impl, AddVariableValueAction_Impl, ApplyFunctionAction_Impl, ArgumentSpecification_Impl, Artifact_Impl, Association_Impl, AssociationEnd_Impl, AssociationEndRole_Impl, AssociationRole_Impl, AssociationUMLClass_Impl, AsynchronousInvocationAction_Impl, Attribute_Impl, AttributeAction_Impl, AttributeLink_Impl, BehavioralFeature_Impl, Binding_Impl, BroadcastSignalAction_Impl, CallEvent_Impl, CallOperationAction_Impl, CallProcedureAction_Impl, CallState_Impl, ChangeEvent_Impl, Class_Impl, Classifier_Impl, ClassifierInState_Impl, ClassifierRole_Impl, ClearAssociationAction_Impl, ClearAttributeAction_Impl, ClearVariableAction_Impl, CodeAction_Impl, Collaboration_Impl, CollaborationInstanceSet_Impl, CollectionAction_Impl, Comment_Impl, Component_Impl, ComponentInstance_Impl, CompositeState_Impl, ConditionalAction_Impl, Constraint_Impl, ControlFlow_Impl, CreateLinkAction_Impl, CreateLinkObjectAction_Impl, CreateObjectAction_Impl, DataFlow_Impl, DataType_Impl, DataValue_Impl, Dependency_Impl, DestroyLinkAction_Impl, DestroyObjectAction_Impl, Enumeration_Impl, EnumerationLiteral_Impl, Event_Impl, Exception_Impl, ExplicitInvocationAction_Impl, Extend_Impl, ExtensionPoint_Impl, Feature_Impl, FilterAction_Impl, FinalState_Impl, Flow_Impl, GeneralizableElement_Impl, Generalization_Impl, GroupAction_Impl, Guard_Impl, HandlerAction_Impl, Include_Impl, InputPin_Impl, Instance_Impl, InteractionInstanceSet_Impl, Interface_Impl, InvocationAction_Impl, IterateAction_Impl, JumpAction_Impl, Link_Impl, LinkAction_Impl, LinkEnd_Impl, LinkObject_Impl, LiteralValueAction_Impl, LoopAction_Impl, MapAction_Impl, MarshalAction_Impl, Message_Impl, Method_Impl, Model_Impl, ModelElement_Impl, Namespace_Impl, Node_Impl, NodeInstance_Impl, NullAction_Impl, Object_Impl, ObjectFlowState_Impl, Operation_Impl, OutputPin_Impl, Package_Impl, Parameter_Impl, Partition_Impl, Permission_Impl, Pin_Impl, Primitive_Impl, PrimitiveAction_Impl, PrimitiveFunction_Impl, Procedure_Impl, ProgrammingLanguageDataType_Impl, PseudoState_Impl, ReadAttributeAction_Impl, ReadExtentAction_Impl, ReadIsClassifiedObjectAction_Impl, ReadLinkAction_Impl, ReadLinkObjectAction_Impl, ReadLinkObjectQualifierAction_Impl, ReadSelfAction_Impl, ReadVariableAction_Impl, Reception_Impl, ReclassifyObjectAction_Impl, ReduceAction_Impl, Relationship_Impl, RemoveAttributeValueAction_Impl, RemoveVariableValueAction_Impl, SendSignalAction_Impl, Signal_Impl, SignalEvent_Impl, SimpleState_Impl, StartObjectStateMachineAction_Impl, State_Impl, StateMachine_Impl, StateVertex_Impl, Stereotype_Impl, Stimulus_Impl, StructuralFeature_Impl, StubState_Impl, SubactivityState_Impl, SubmachineState_Impl, Subsystem_Impl, SubsystemInstance_Impl, SynchronousInvocationAction_Impl, SynchState_Impl, TagDefinition_Impl, TaggedValue_Impl, TestIdentifyAction_Impl, TimeEvent_Impl, Transition_Impl, Transition_Impl, UnmarshalAction_Impl, Usage_Impl, UseCase_Impl, UseCaseInstance_Impl, Variable_Impl, VariableAction_Impl, WriteAttributeAction_Impl, WriteLinkAction_Impl, WriteVariableAction_Impl

public interface ModelElement
extends Element

A model element is an element that is an abstraction drawn from the system being modeled. Contrast with view element, which is an element whose purpose is to provide a presentation of information for human comprehension. In the metamodel, a ModelElement is a named entity in a Model. It is the base for all modeling metaclasses in the UML (even though it is not displayed explicitly as such on diagrams for ElementOwnership, ElementResidence, ElementImport, TemplateParameter, TemplateArgument, and Argument). All other modeling metaclasses are either direct or indirect subclasses of ModelElement. Each ModelElement can be regarded as a template. A template has a set of templateParameters that denotes which of the parts of a ModelElement are the template parameters. A ModelElement is a template when there is at least one template parameter. If it is not a template, a ModelElement cannot have template parameters. However, such embedded parameters are not usually complete and need not satisfy well-formedness rules. It is the arguments supplied when the template is instantiated that must be well formed. Partially instantiated templates are allowed. This is the case when there are arguments provided for some, but not all templateParameters. A partially instantiated template is still a template, since it still has parameters.


Method Summary
 Collection getAsArgument()
          Indicates zero or more TemplateArgument for which the model element is an argument in a template binding.
 Collection getBehavior()
          Not documented in spec! from ::"Behavioral Elements"::"State Machines"::StateMachine, pg.
 Collection getClientDependency()
          Inverse of client.
 Collection getComment()
          Not documented in spec!
 Collection getConstraint()
          A set of Constraints affecting the element.
 Collection getContainer()
          The component that an implemented model element resides in.
 ModelElement getDefaultElement()
          Not part of specification! Merged from TemplateParameter association class.
 boolean getIsSpecification()
          Not part of specification! Merged from ElementOwnership association class.
 String getName()
          An identifier for the ModelElement within its containing Namespace.
 Namespace getNamespace()
          Designates the Namespace that contains the ModelElement.
 Collection getPackage()
          Not documented in spec!
 Collection getPresentation()
          A set of PresentationElements that present a view of the ModelElement.
 Collection getReferenceTag()
          Not documented in spec!
 Collection getSourceFlow()
          Not documented in spec!
 Collection getStereotype()
          Designates the stereotypes that further qualify the UML metaclass (the base class or one of its subclasses) of the modeling element.
 Collection getSupplierDependency()
          Inverse of supplier.
 Collection getTaggedValue()
          An arbitrary property attached to the model element based on an associated tag definition.
 Collection getTargetFlow()
          Not documented in spec!
 ModelElement getTemplate()
          Not documented in spec!
 Collection getTemplateArgument()
          Not documented in spec! From diagram p.
 List getTemplateParameter()
          (association class TemplateParameter) A composite aggregation ordered list of parameters.
 VisibilityKind getVisibility()
          Not part of specification! Merged from ElementOwnership association class.
 void setDefaultElement(ModelElement defaultElement)
          Setter for atomic property defaultElement)
 void setIsSpecification(boolean isSpecification)
          Setter for atomic property isSpecification)
 void setName(String name)
          Setter for atomic property name)
 void setNamespace(Namespace namespace)
          Setter for atomic property namespace)
 void setTemplate(ModelElement template)
          Setter for atomic property template)
 void setVisibility(VisibilityKind visibility)
          Setter for atomic property visibility)
 
Methods inherited from interface uk.ac.ucl.cs.emofocl.jmi.reflect.extended.ExtObject
extAddObjectListener, extDeepCopy, extDeepCopy, extEquals, extRemoveObjectListener, extValueHash, extVisit
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getName

String getName()
               throws javax.jmi.reflect.JmiException
An identifier for the ModelElement within its containing Namespace.

Throws:
javax.jmi.reflect.JmiException

setName

void setName(String name)
             throws javax.jmi.reflect.JmiException
Setter for atomic property name)

Throws:
javax.jmi.reflect.JmiException

getAsArgument

Collection getAsArgument()
                         throws javax.jmi.reflect.JmiException
Indicates zero or more TemplateArgument for which the model element is an argument in a template binding. This AssociationEnd is not named in class diagram on p.2-17!

Throws:
javax.jmi.reflect.JmiException

getClientDependency

Collection getClientDependency()
                               throws javax.jmi.reflect.JmiException
Inverse of client. Designates a set of Dependency in which the ModelElement is a client.

Throws:
javax.jmi.reflect.JmiException

getConstraint

Collection getConstraint()
                         throws javax.jmi.reflect.JmiException
A set of Constraints affecting the element. A constraint that must be satisfied by the model element. A model element may have a set of constraints. The constraint is to be evaluated when the system is stable; that is, not in the middle of an atomic operation.

Throws:
javax.jmi.reflect.JmiException

getContainer

Collection getContainer()
                        throws javax.jmi.reflect.JmiException
The component that an implemented model element resides in. Called implementationLocation in spec! Name taken from diagram on p. 2-16.

Throws:
javax.jmi.reflect.JmiException

getNamespace

Namespace getNamespace()
                       throws javax.jmi.reflect.JmiException
Designates the Namespace that contains the ModelElement. Every ModelElement except a root element must belong to exactly one Namespace or else be a composite part of another ModelElement (which is a kind of virtual namespace). The pathname of Namespace or ModelElement names starting from the root package provides a unique designation for every ModelElement. The association attribute visibility specifies the visibility of the element outside its namespace (see ElementOwnership).

Throws:
javax.jmi.reflect.JmiException

setNamespace

void setNamespace(Namespace namespace)
                  throws javax.jmi.reflect.JmiException
Setter for atomic property namespace)

Throws:
javax.jmi.reflect.JmiException

getPresentation

Collection getPresentation()
                           throws javax.jmi.reflect.JmiException
A set of PresentationElements that present a view of the ModelElement.

Throws:
javax.jmi.reflect.JmiException

getSupplierDependency

Collection getSupplierDependency()
                                 throws javax.jmi.reflect.JmiException
Inverse of supplier. Designates a set of Dependency in which the ModelElement is a supplier.

Throws:
javax.jmi.reflect.JmiException

getStereotype

Collection getStereotype()
                         throws javax.jmi.reflect.JmiException
Designates the stereotypes that further qualify the UML metaclass (the base class or one of its subclasses) of the modeling element. The stereotype does not conflict with or contradict the standard semantics of the metaclass to which it applies, but may specify additional constraints and tag definitions. All constraints and tag definitions on a stereotype apply to the model elements that are branded by the stereotype. The stereotype acts as a virtual metaclass describing the model element.

Throws:
javax.jmi.reflect.JmiException

getTaggedValue

Collection getTaggedValue()
                          throws javax.jmi.reflect.JmiException
An arbitrary property attached to the model element based on an associated tag definition. The interpretation of the tagged value is outside the scope of the UML metamodel.

Throws:
javax.jmi.reflect.JmiException

getTemplateParameter

List getTemplateParameter()
                          throws javax.jmi.reflect.JmiException
(association class TemplateParameter) A composite aggregation ordered list of parameters. Each parameter is a dummy ModelElement designated as a placeholder for a real ModelElement to be substituted during a binding of the template (see Binding). The real model element must be of the same kind (or a descendant kind) as the dummy ModelElement. The properties of the dummy ModelElement are ignored, except the name of the dummy element is used as the name of the template parameter. The association class TemplateParameter may be associated with a default ModelElement of the same kind as the dummy ModelElement. In the case of a Binding that does not supply an argument corresponding to the parameter, the value of the default ModelElement is used. If a Binding lacks an argument and there is no default ModelElement, the construct is invalid. Note that the template parameter element lacks structure. For example, a parameter that is a Class lacks Features; they are found in the actual argument.

Throws:
javax.jmi.reflect.JmiException

getTemplate

ModelElement getTemplate()
                         throws javax.jmi.reflect.JmiException
Not documented in spec!

Throws:
javax.jmi.reflect.JmiException

setTemplate

void setTemplate(ModelElement template)
                 throws javax.jmi.reflect.JmiException
Setter for atomic property template)

Throws:
javax.jmi.reflect.JmiException

getSourceFlow

Collection getSourceFlow()
                         throws javax.jmi.reflect.JmiException
Not documented in spec!

Throws:
javax.jmi.reflect.JmiException

getTargetFlow

Collection getTargetFlow()
                         throws javax.jmi.reflect.JmiException
Not documented in spec!

Throws:
javax.jmi.reflect.JmiException

getPackage

Collection getPackage()
                      throws javax.jmi.reflect.JmiException
Not documented in spec!

Throws:
javax.jmi.reflect.JmiException

getComment

Collection getComment()
                      throws javax.jmi.reflect.JmiException
Not documented in spec!

Throws:
javax.jmi.reflect.JmiException

getReferenceTag

Collection getReferenceTag()
                           throws javax.jmi.reflect.JmiException
Not documented in spec!

Throws:
javax.jmi.reflect.JmiException

getTemplateArgument

Collection getTemplateArgument()
                               throws javax.jmi.reflect.JmiException
Not documented in spec! From diagram p. 2-17.

Throws:
javax.jmi.reflect.JmiException

getBehavior

Collection getBehavior()
                       throws javax.jmi.reflect.JmiException
Not documented in spec! from ::"Behavioral Elements"::"State Machines"::StateMachine, pg. 2-141

Throws:
javax.jmi.reflect.JmiException

getVisibility

VisibilityKind getVisibility()
                             throws javax.jmi.reflect.JmiException
Not part of specification! Merged from ElementOwnership association class.

Throws:
javax.jmi.reflect.JmiException

setVisibility

void setVisibility(VisibilityKind visibility)
                   throws javax.jmi.reflect.JmiException
Setter for atomic property visibility)

Throws:
javax.jmi.reflect.JmiException

getIsSpecification

boolean getIsSpecification()
                           throws javax.jmi.reflect.JmiException
Not part of specification! Merged from ElementOwnership association class.

Throws:
javax.jmi.reflect.JmiException

setIsSpecification

void setIsSpecification(boolean isSpecification)
                        throws javax.jmi.reflect.JmiException
Setter for atomic property isSpecification)

Throws:
javax.jmi.reflect.JmiException

getDefaultElement

ModelElement getDefaultElement()
                               throws javax.jmi.reflect.JmiException
Not part of specification! Merged from TemplateParameter association class.

Throws:
javax.jmi.reflect.JmiException

setDefaultElement

void setDefaultElement(ModelElement defaultElement)
                       throws javax.jmi.reflect.JmiException
Setter for atomic property defaultElement)

Throws:
javax.jmi.reflect.JmiException