Package com.ashridgetech.jamda.uml

Provides classes and interfaces for handling UML metamodel elements.


Interface Summary
Model.ElementFactory A factory object responsible for creating the correct ModelElement subclass object for a NSUML MModelElement encountered during loading.
Property Interface for items which represent a property of a StructuredType.
PropertyElement Interface for ModelElements that can be represented by a Property.
TypedItem Interface for items which have a certain Type.
UmlStereotypes Definitions of standard Stereotypes needed for the com.ashridgetech.jamda.uml package.
UmlTags Definitions of standard TagDefinitions needed for the com.ashridgetech.jamda.uml package.
UmlTypes Definitions of standard DataTypes, ClassTypes and InterfaceTypes for the com.ashridgetech.jamda.uml package.

Class Summary
AbstractElementFactory A base implementation of Model.ElementFactory.
Abstraction A UML Abstraction.
Actor A UML Actor.
Association A UML Association.
Association.End Represents a UML AssociationEnd.
Attribute A UML Attribute.
ClassType A UML Class.
Constructor A UML Operation for a constructor of a ClassType.
DataType A UML DataType.
Feature The base class for features of a StructuredType.
Generalization A UML Generalization.
Holder Utility class to hold an Object which may not be initialised until required.
InterfaceType A UML Interface classifier.
Model A UML model.
Model.ElementType Type-safe enumeration for the standard UML element types, as used in Stereotype as the base class type.
ModelElement Base class with common functionality for all Jamda UML elements which can be contained within a Model, and Model itself.
ModelPackage A UML Package, which may contain other packages.
NSUtil Utility methods used with the NSUML classes.
Operation A UML Operation, owned by a StructuredType.
Parameter A UML Parameter.
Procedure Represents the semantics of an Operation.
Procedure.Language Typesafe enum to represent the language of a Procedure body.
PropertyBuilder A builder object for creating Property objects, either based on an existing Property, or completely new.
PropertyBuilder.PropertyImpl Implementation of the Property interface returned by PropertyBuilder.getProperty().
PropertyPredicate A Predicate object for selecting Property objects.
PropertyTransformer A Transformer object for transforming Property objects.
ReturnParameter A UML Parameter of direction kind RETURN.
StandardClassDef Defines a standard Class which is required in a Model.
StandardDataTypeDef Defines a standard DataType which is required in a Model.
StandardElementDef The base class for definitions of standard elements.
StandardInterfaceDef Defines a standard InterfaceType which is required in a Model.
StandardStereotypeDef Defines a standard Stereotype which is required in a Model.
StandardTagDef Defines a standard TagDefinition which is required in a Model.
StandardTypeDef Abstract baseclass for classes which define a standard Type that is required in a Model.
StdElementFactory A factory for the standard ModelElements in the com.ashridgetech.jamda.uml package.
StdTags A holder for standard tag names used by this package.
Stereotype A UML Stereotype.
StructuredType The base class for non-primitive UML types.
StructuredType.Aggregation Typesafe enum to represent the aggregation of Association.Ends and Attributes in a type.
StructuredType.PropertyImpl Implementation of the Property interface for a getter and/or setter Operation.
StructuredType.Visibility Typesafe enum to represent the visibility of Operations and Attributes in a type.
TagDefinition A UML Tag Definition.
TagDefinition.TagType Type-safe enumeration for the allowable tag types.
Type Base class for UML metamodel classes which represent types of data.

Exception Summary
ModelElement.DuplicateElementException Thrown by ModelElement.loadElement( to indicate a duplicate element.
ModelElement.UnknownElementException Thrown by ModelElement.loadElement( to indicate an unknown element.

Package com.ashridgetech.jamda.uml Description

Provides classes and interfaces for handling UML metamodel elements.

Overall Structure

The top-level class which represents the whole metamodel is Model. From this class it is possible to query and navigate to all the elements contained within the model. This class is also responsible for loading and saving models in XMI format. The base class for all the metamodel element classes is ModelElement. This class implements many functions that are common to all metamodel elements. Some metamodel elements have additional subclasses for specialised instances of those elements, for example Operation and its subclass Constructor, and Parameter and its subclass ReturnParameter.


It is useful to be able to handle all the parts of an element which represent a property of the element in a similar manner. The Property interface fulfils this role, and it has several implementations based on Attributes Operations and Association.Ends for StructuredTypes, and also Parameters for an Operation. Property elements can be selected using PropertyPredicate and transformed using PropertyTransformer.

Standard Elements

Certain elements may be required in the Model in order to support transformations. These may be Stereotypes or TagDefinitions that identify particular elements or properties used by the transformation, or they may be Types that need to be present in the Model. These required elements are represented by StandardElementDef and its subclasses.

Copyright © 2003 Ashridge Technologies Ltd. All Rights Reserved.