|
Dresden OCL Toolkit | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
AllInstancesAdapter | This interface allows to make the operation allInstances evaluatable in a specific context. |
FeatureListener | An interface, listening the access to object attributes and methods by the ocl library. |
NameAdapter | A case tools code generator may convert names, especially of unnamed association ends. |
OclAddable | This interface defines the operation add . |
OclBooleanEvaluatable | Instances of (usually inner) classes implementing this class represent OclExpressions that are parameters to iterating methods. |
OclComparable | This interface is implemented by classes whose instances can be compared. |
OclComparableEvaluatable | Instances of (usually inner) classes implementing this class represent OclExpressions that are parameters to iterating methods. |
OclFactory | A interface defining operations expected of a OCL representation factory class. |
OclMultiplyable | A interface declaring operations expected of classes that have the
* and / operators defined. |
OclRoot | This interface is implemented by those classes of the library representing
Predefined OCL Types, and is therefore the return type of all factory
methods in Ocl and OclFactory . |
OclRootEvaluatable | Instances of (usually inner) classes implementing this class represent OclExpressions that are parameters to iterating methods. |
OclSizable | An interface defining the operation size that is
defined on the OCL Collections and on the type String. |
OclStateAdapter | This interface must be implemented if OclAny s operation
oclInState is used. |
OclSubtractable | An interface representing the operation - that is defined for
the OCL types Set , Real and Integer . |
Class Summary | |
ArgoNameAdapter | This NameAdapter is suitable for code generated by Argo/UML. |
DefaultOclFactory | This class is the default implementation of the OclFactory
interface. |
Ocl | This class constitutes the central interface to generating classes in the OCL class library. |
OclAny | This class represents the part of the OCL type OclAny common to basic types and application types, i.e. |
OclAnyImpl | This class represents the OCL type OclAny. |
OclBag | A OclBag is a unordered collection that may contain duplicates. |
OclBoolean | A class that represents the basic OCL type Boolean. |
OclCollection | This class is the abstract superclass of the OCL collection classes Set, Bag and Sequence. |
OclContainer | This class is a implementation of OclRoot that is backed by a "contained" OclRoot object. |
OclInteger | This class represents the basic OCL type Integer. |
OclIterator | The OclIterator is needed to transform OCL iterating methods to Java. |
OclReal | This class represents the OCL basic type Real. |
OclSequence | A OclSequence is a ordered collection of elements that may contain duplicates. |
OclSet | A OclSet is a collection that does not contain duplicates. |
OclState | This class represents the OCL type OclState. |
OclString | This class represents the basic OCL type String. |
OclType | This class represents the predefined OCL class OclType and gives access to the meta level of OCL. |
OclUnsortedCollection | This class is not defined in the OCL specification. |
PrefixNameAdapter | A implementation of NameAdapter, which handles prefixes on association roles. |
SimpleNameAdapter |
Exception Summary | |
OclClassCastException | This class is used rather than OclException whenever the error results from a type mismatch that could not be detected by the Java compiler. |
OclException | A runtime exception thrown to indicate that an error occured during evaluation of the constraint. |
This package constitutes the OCL Class Library. The library uses the Java 2 collection framework and therefore cannot be used with JDK 1.1.
To derive Java source code from the OCL expression, all type information has to extracted from the operations of the expression. Some interfaces, like OclSubtractable, were introduced to support this.
The following class diagrams should give a basic idea of the design. The diagrams are produced with the open-source case tool Argo/UML, that was also used for code sceleton generation.
This diagram shows OclRoot, the root interface of the class library, and the classes implementing it directly. All classes of the library that represent predefined OCL types implement OclRoot.
OCL data types are the basic types (above), application-specific types (below) and collection types.
The Collection-Related Types are a central part of OCL predefined classes. The classes that represent them in the class library are shown in the diagram above.
The diagram below shown classes necessary to implement the "iterating methods" (i.e. methods having an OCL expression as argument) of OCL.
The class Ocl
provides class methods that access a factory class to generate OCL
class library representations for application objects and values (e.g.
OclInteger for int, OclAny for application classes, OclSet for application
collections).
Similar plug-in objects are used to make the library adaptable to a code
generators schemes for state diagram representation and to name conversions.
|
Dresden OCL Toolkit | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |