Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-05-23 11:50:31 +0000
committerEd Willink2016-05-23 11:50:31 +0000
commit53d14421414a482e5e3dfd1ff9e574f1906fda57 (patch)
tree8654ea2c66162dcec8312f218b98b4a677177166
parent2298203aa5d01801d38aac4454404f812ba285c5 (diff)
downloadorg.eclipse.ocl-53d14421414a482e5e3dfd1ff9e574f1906fda57.tar.gz
org.eclipse.ocl-53d14421414a482e5e3dfd1ff9e574f1906fda57.tar.xz
org.eclipse.ocl-53d14421414a482e5e3dfd1ff9e574f1906fda57.zip
[releng] Basic documentation refresh for Neon
-rw-r--r--doc/org.eclipse.ocl.doc/doc/0000-introduction.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/doc/2000-ocl-standard-library.textile162
-rw-r--r--doc/org.eclipse.ocl.doc/doc/4100-oclinecore-tutorial.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/doc/4200-oclinterpreter-tutorial.textile22
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5000-programmers-guide.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5110-parsing-constraints.textile20
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5115-evaluating-constraints.textile8
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5120-parsing-documents.textile4
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5130-target-metamodels.textile6
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5140-content-assist.textile4
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5150-abstract-syntax.textile6
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5160-customization.textile16
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5170-persistence.textile10
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5180-metamodel-bindings.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/doc/5190-impact-analyzer.textile14
-rw-r--r--doc/org.eclipse.ocl.doc/doc/6000-pivot-programmers-guide.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/doc/6310-pivot-parsing-constraints.textile6
-rw-r--r--doc/org.eclipse.ocl.doc/doc/6315-pivot-evaluating-constraints.textile10
-rw-r--r--doc/org.eclipse.ocl.doc/doc/6320-pivot-parsing-documents.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/doc/6330-pivot-metamodels.textile4
-rw-r--r--doc/org.eclipse.ocl.doc/doc/7000-API.textile2
-rw-r--r--doc/org.eclipse.ocl.doc/help/APIReference.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/AbstractSyntax.html8
-rw-r--r--doc/org.eclipse.ocl.doc/help/AdvancedMetamodelBindings.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/Bag.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/Boolean.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/Collection.html18
-rw-r--r--doc/org.eclipse.ocl.doc/help/ContentAssistSupport.html6
-rw-r--r--doc/org.eclipse.ocl.doc/help/CustomizingtheEnvironment.html16
-rw-r--r--doc/org.eclipse.ocl.doc/help/Enumeration.html5
-rw-r--r--doc/org.eclipse.ocl.doc/help/EnumerationLiteral.html5
-rw-r--r--doc/org.eclipse.ocl.doc/help/EvaluatingConstraints.html8
-rw-r--r--doc/org.eclipse.ocl.doc/help/ImpactAnalyzer.html18
-rw-r--r--doc/org.eclipse.ocl.doc/help/OCLInterpreterTutorial.html22
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclAny.html48
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclElement.html125
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclEnumeration.html65
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclInvalid.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclState.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclStereotype.html53
-rw-r--r--doc/org.eclipse.ocl.doc/help/OclSummable.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/OrderedSet.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/OverviewandGettingStarted.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/ParsingDocuments.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/Persistence.html10
-rw-r--r--doc/org.eclipse.ocl.doc/help/PivotEvaluatingConstraints.html12
-rw-r--r--doc/org.eclipse.ocl.doc/help/PivotMetamodels.html8
-rw-r--r--doc/org.eclipse.ocl.doc/help/PivotParsingConstraints.html6
-rw-r--r--doc/org.eclipse.ocl.doc/help/PivotParsingDocuments.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/PivotProgrammersGuide.html2
-rw-r--r--doc/org.eclipse.ocl.doc/help/ProgrammersGuide.html22
-rw-r--r--doc/org.eclipse.ocl.doc/help/Sequence.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/Set.html4
-rw-r--r--doc/org.eclipse.ocl.doc/help/StandardLibrary.html14
-rw-r--r--doc/org.eclipse.ocl.doc/help/TargetMetamodels.html14
-rw-r--r--doc/org.eclipse.ocl.doc/help/Tutorials.html2
-rw-r--r--doc/org.eclipse.ocl.doc/html/ocl.html481
-rw-r--r--doc/org.eclipse.ocl.doc/manual/ocl.pdfbin3728795 -> 3735519 bytes
-rw-r--r--doc/org.eclipse.ocl.doc/styles/titlepage.xsl2
-rw-r--r--doc/org.eclipse.ocl.doc/styles/xmpp.xsl2
-rw-r--r--doc/org.eclipse.ocl.doc/textileBuild.xml1
-rw-r--r--doc/org.eclipse.ocl.doc/toc.xml2
62 files changed, 982 insertions, 339 deletions
diff --git a/doc/org.eclipse.ocl.doc/doc/0000-introduction.textile b/doc/org.eclipse.ocl.doc/doc/0000-introduction.textile
index 6bc87e60ec..5898a075ef 100644
--- a/doc/org.eclipse.ocl.doc/doc/0000-introduction.textile
+++ b/doc/org.eclipse.ocl.doc/doc/0000-introduction.textile
@@ -2,7 +2,7 @@ h1. Overview and Getting Started
For a quick demonstration of OCL enrichment of an Ecore meta-model with computed constraints go to "Getting Started":#GettingStarted.
-A PDF version of this documentation is available at "OCL 6.0.0 Documentation":http://download.eclipse.org/ocl/doc/6.0.0/ocl.pdf.
+A PDF version of this documentation is available at "OCL 6.1.0 Documentation":http://download.eclipse.org/ocl/doc/6.1.0/ocl.pdf.
h2. What is OCL?
diff --git a/doc/org.eclipse.ocl.doc/doc/2000-ocl-standard-library.textile b/doc/org.eclipse.ocl.doc/doc/2000-ocl-standard-library.textile
index 52213a5069..7789605c79 100644
--- a/doc/org.eclipse.ocl.doc/doc/2000-ocl-standard-library.textile
+++ b/doc/org.eclipse.ocl.doc/doc/2000-ocl-standard-library.textile
@@ -52,9 +52,9 @@ The bag containing all elements of @self@ plus object.
The bag containing all elements of @self@ and objects.
-@selectByKind(TT)(type : TT[?]) : Bag(TT[*|1])@
+@selectByKind(TT)(type : TT[?]) : Bag(TT)[*|1]@
-@selectByType(TT)(type : TT[?]) : Bag(TT[*|1])@
+@selectByType(TT)(type : TT[?]) : Bag(TT)[*|1]@
*Iterations*
@@ -118,7 +118,7 @@ precedence: @EQUALITY@
Returns @true@ if the logical value of @self@ is the not same as the numeric value of object2, @false@ otherwise.
-@allInstances() : Set(OclSelf[*|1])@
+@allInstances() : Set(OclSelf)[*|1]@
Returns @Set{false, true}@.
@@ -346,14 +346,14 @@ The collection containing all elements of @self@ plus object.
The collection containing all elements of @self@ and objects.
-@intersection(u : UniqueCollection(T)) : Set(T)@
-
-The intersection of @self@ and a unique collection; the set of all elements that are in both @self@ and u.
-
@intersection(c : Collection(T)) : Bag(T)@
The intersection of @self@ and bag; the bag of all elements that are in both @self@ and c.
+@intersection(u : UniqueCollection(T)) : Set(T)@
+
+The intersection of @self@ and a unique collection; the set of all elements that are in both @self@ and u.
+
@isEmpty() : Boolean[1]@
Is @self@ the empty collection?
@@ -380,13 +380,13 @@ Is @self@ not the empty collection?
@null->notEmpty()@ returns @false@ in virtue of the implicit casting from @null@ to @Bag{}@.
-@product(T2)(c2 : Collection(T2)) : Set(Tuple(first:T[1], second:T2[1])[*|1])@
+@product(T2)(c2 : Collection(T2)) : Set(Tuple(first:T[1], second:T2[1]))[*|1]@
The cartesian product operation of @self@ and c2.
-@selectByKind(TT)(type : TT[?]) : Collection(TT[*|1])@
+@selectByKind(TT)(type : TT[?]) : Collection(TT)[*|1]@
-@selectByType(TT)(type : TT[?]) : Collection(TT[*|1])@
+@selectByType(TT)(type : TT[?]) : Collection(TT)[*|1]@
@size() : Integer[1]@
@@ -469,6 +469,7 @@ The < operation must return a Boolean value and must be transitive (i.e., if a <
h2(#Enumeration). **@Enumeration@**
+@Deprecated: Use OclEnumeration
The Enumeration type is the type of an OrderedSet of EnumerationLiteral.
conformsTo "@OclAny@":#OclAny
@@ -481,7 +482,7 @@ Evaluates to the literals of the enumeration.
*Operations*
-@allInstances() : Set(OclSelf[*|1])@
+@allInstances() : Set(OclSelf)[*|1]@
Return a set of all enumeration values of @self@.
@@ -495,6 +496,8 @@ conformsTo "@OclAny@":#OclAny
@Enumeration : Bag(Enumeration)@
+@OclEnumeration : Bag(OclEnumeration)@
+
h2(#Integer). **@Integer@**
The standard type Integer represents the mathematical concept of integer.
@@ -710,23 +713,26 @@ bc..
post: result = not (self = object2)
p.
-@oclAsSet() : Set(OclSelf[*|1])@
+@oclAsSet() : Set(OclSelf)[*|1]@
Returns a Set with @self@ as the sole content, unless @self@ is @null@ in which case returns an empty set,
@oclAsType(TT)(type : TT[?]) : TT[1] invalidating@
-Evaluates to @self@, where @self@ is of the type identified by T.
-The type T may be any classifier defined in the UML model;
-if the actual type of @self@ at evaluation time does not conform to T,
+Evaluates to @self@, where @self@ is of the type identified by @TT@.
+The type @TT@ may be any classifier defined by OCL or a user metamodel;
+if the actual type of @self@ at evaluation time does not conform to @TT@,
then the oclAsType operation evaluates to @invalid@.
+If @self@ is a multiply classified instance, the current classification used for OCL navigation
+is changed to the classification to which @TT@ conforms. The oclAsType call is not well-formed if
+the classification is ambiguous.
+
In the case of feature redefinition, casting an object to a supertype of its actual type
does not access the supertype’s definition of the feature;
according to the semantics of redefinition, the redefined feature simply does not exist for the object.
However, when casting to a supertype, any features additionally defined by the subtype are suppressed.
-
bc..
post IsSelf: result = self
p.
@@ -741,8 +747,8 @@ Evaluates to @true@ if the @self@ is equal to OclInvalid.
@oclIsKindOf(type : OclType[?]) : Boolean[1]@
-Evaluates to @true@ if the type of @self@ conforms to t.
-That is, @self@ is of type t or a subtype of t.
+Evaluates to @true@ if the type of @self@ conforms to @type@.
+That is, @self@ is of type @type@ or a subtype of @type@.
@oclIsNew() : Boolean[1]@
@@ -751,7 +757,7 @@ Evaluates to @true@ if the @self@ is created during performing the operation (fo
@oclIsTypeOf(type : OclType[?]) : Boolean[1]@
-Evaluates to @true@ if @self@ is of the type t but not a subtype of t
+Evaluates to @true@ if @self@ is of the type @type@ but not a subtype of @type@.
@oclIsUndefined() : Boolean[1] validating@
@@ -767,7 +773,14 @@ Evaluates to the self, with the side effect of generating a log message comprisi
@oclType() : OclSelf[1]@
-Evaluates to the type of which @self@ is an instance.
+Evaluates to the most derived type of which @self@ is currently an instance. If @self@ is an instance of a multiply
+classified type, the return is the most derived type of the current classification which is established when the instance is
+passed to OCL, or re-established by an @oclAsType()@ call.
+
+@oclTypes() : Set(OclSelf)@
+
+Evaluates to all of the most derived type of which @self@ is an instance. The return from @oclTypes()@
+is normally equivalent to that from @oclType()@ unless @self@ is an instance of multiply classified type.
@toString() : String[1]@
@@ -815,20 +828,98 @@ for OclElement are therefore applicable to all user-defined types.
conformsTo "@OclAny@":#OclAny
+*Attributes*
+
+@OclElement : Bag(OclElement)@
+
+@OclElement : Bag(OclElement)@
+
+@oclContents : Set(OclElement)[*|1]@
+
+The composed contents of self.
+
+*Associations*
+
+@oclContainer : OclElement[?]@
+
+The object for which self is a composed content or null if there is no such object.
+
*Operations*
-@allInstances() : Set(OclSelf[*|1])@
+@allInstances() : Set(OclSelf)[*|1]@
Return a set of all instances of the type and derived types of self.
+@oclAsModelType(TT)(type : TT[?]) : TT[1] invalidating@
+
+Evaluates to @self@, where @self@ is of the model type identified by @TT@.
+
+Most model elements have metamodel types for use with oclAsType, but no model type and so the return is @invalid@.
+
+Model elements such as UML's InstnaceSpecification that do support distinct model and metamodel types return @self@
+with the cast type @TT@ that may be used for further navigation.
+If the actual model type of @self@ at evaluation time does not conform to @TT@,
+then the oclAsType operation evaluates to @invalid@.
+
+If @self@ is a multiply classified instance, the current classification used for OCL navigation
+is changed to the classification to which @TT@ conforms. The oclAsModelType call is not well-formed if
+the classification is ambiguous.
+
+bc..
+post IsSelf: result = self
+p.
+
@oclContainer() : OclElement[?]@
Returns the object for which self is a composed content or null if there is no such object.
-@oclContents() : Set(OclElement[*|1])@
+@oclContents() : Set(OclElement)[*|1]@
Returns the composed contents of self.
+@oclIsModelKindOf(type : OclType[?]) : Boolean[1]@
+
+Evaluates to @true@ if the type of @self@ conforms to the model type @type@.
+That is, @self@ is of type @type@ or a subtype of @type@.
+
+The return is normally @false@ since few model elements have model types. UML's InstanceSpecification::classifier provides
+a multiple classification for a model type.
+
+@oclModelType() : OclSelf[1]@
+
+Evaluates to the most derived model type of which @self@ is currently an instance. If @self@ is an instance of a multiply
+classified model type, the return is the most derived type of the current classification which is established
+by an @oclAsModelType()@ call.
+
+The return is normally @invalid@ since few model elements have model types. UML's InstanceSpecification::classifier provides
+a multiple classification for a model type.
+
+@oclModelTypes() : Set(OclSelf)@
+
+Evaluates to all of the most derived model types of which @self@ is an instance. The return from @oclModelTypes()@
+is normally equivalent to that from @oclModelType()@ unless @self@ is an instance of multiply classified model type.
+
+The return is normally @invalid@ since few model elements have model types. UML's InstanceSpecification::classifier provides
+a multiple classification for a model type.
+
+h2(#OclEnumeration). **@OclEnumeration@**
+
+The OclEnumeration type is the implicit supertype of any user Enumeration type.
+
+conformsTo "@OclType@":#OclType
+
+*Attributes*
+
+@allLiterals : OrderedSet(EnumerationLiteral)@
+
+Evaluates to the literals of the enumeration.
+
+*Operations*
+
+@allInstances() : Set(OclSelf)[*|1]@
+
+Return a set of all enumeration values of @self@.
+
h2(#OclInvalid). **@OclInvalid@**
The type OclInvalid is a type that conforms to all other types.
@@ -860,7 +951,7 @@ precedence: @AND@
@implies(b : Boolean[?]) : Boolean[?] validating@
precedence: @IMPLIES@
-@oclAsSet() : Set(OclSelf[*|1])@
+@oclAsSet() : Set(OclSelf)[*|1]@
@oclAsType(TT)(type : TT[?]) : TT[?]@
@@ -939,6 +1030,19 @@ h2(#OclState). **@OclState@**
conformsTo "@OclAny@":#OclAny
+h2(#OclStereotype). **@OclStereotype@**
+
+The type OclStereotype is the implicit supertype of any UML stereotype. Operations defined
+for OclStereotype are therefore applicable to all UML stereotypes.
+
+conformsTo "@OclType@":#OclType
+
+*Operations*
+
+@allInstances() : Set(OclSelf)[*|1]@
+
+Return a set of all instances of the stereotype and derived types of self.
+
h2(#OclSummable). **@OclSummable@**
The type OclSummable defines the sum and zero operations used by the Collection::sum iteration. Only types that provide derived
@@ -1134,9 +1238,9 @@ The sequence consisting of objects, followed by all elements in @self@.
The ordered set of elements with same elements but with the opposite order.
-@selectByKind(TT)(type : TT[?]) : OrderedSet(TT[*|1])@
+@selectByKind(TT)(type : TT[?]) : OrderedSet(TT)[*|1]@
-@selectByType(TT)(type : TT[?]) : OrderedSet(TT[*|1])@
+@selectByType(TT)(type : TT[?]) : OrderedSet(TT)[*|1]@
@subOrderedSet(lower : Integer[?], upper : Integer[?]) : OrderedSet(T) invalidating@
@@ -1303,9 +1407,9 @@ The sequence consisting of objects, followed by all elements in @self@.
The sequence containing the same elements but with the opposite order.
-@selectByKind(TT)(type : TT[?]) : Sequence(TT[*|1])@
+@selectByKind(TT)(type : TT[?]) : Sequence(TT)[*|1]@
-@selectByType(TT)(type : TT[?]) : Sequence(TT[*|1])@
+@selectByType(TT)(type : TT[?]) : Sequence(TT)[*|1]@
@subSequence(lower : Integer[?], upper : Integer[?]) : Sequence(T) invalidating@
@@ -1378,9 +1482,9 @@ The set containing all elements of @self@ plus object.
The set containing all elements of @self@ and objects.
-@selectByKind(TT)(type : TT[?]) : Set(TT[*|1])@
+@selectByKind(TT)(type : TT[?]) : Set(TT)[*|1]@
-@selectByType(TT)(type : TT[?]) : Set(TT[*|1])@
+@selectByType(TT)(type : TT[?]) : Set(TT)[*|1]@
*Iterations*
diff --git a/doc/org.eclipse.ocl.doc/doc/4100-oclinecore-tutorial.textile b/doc/org.eclipse.ocl.doc/doc/4100-oclinecore-tutorial.textile
index 328e397c6d..790df163e3 100644
--- a/doc/org.eclipse.ocl.doc/doc/4100-oclinecore-tutorial.textile
+++ b/doc/org.eclipse.ocl.doc/doc/4100-oclinecore-tutorial.textile
@@ -403,7 +403,7 @@ h3(#OCLinEcoreTutorial-genmodel). Generating Java Code
We have shown how OCL may be used to enrich Ecore meta-models, how model instances can be created
and validated and how expressions can be evaluated, all without generating any Java code.
-Exactly the same facilities are available if you do generate Java code and as a result you gain some speed benefits. By default, in the Eclipse OCL 6.0.0 (Mars) release the generated Java code for OCL is interpreted and so the speed gains occur only for the EMF models.
+Exactly the same facilities are available if you do generate Java code and as a result you gain some speed benefits. By default, in the Eclipse OCL 6.1.0 (Neon) release the generated Java code for OCL is interpreted and so the speed gains occur only for the EMF models.
In the "Code Generation Tutorial":#CodeGenerationTutorial, a preliminary release of
the OCL to Java code generator is described, giving an approximately five-fold speed improvement
and eliminating the need for run-time compilation.
diff --git a/doc/org.eclipse.ocl.doc/doc/4200-oclinterpreter-tutorial.textile b/doc/org.eclipse.ocl.doc/doc/4200-oclinterpreter-tutorial.textile
index f4414566e2..732b4a47de 100644
--- a/doc/org.eclipse.ocl.doc/doc/4200-oclinterpreter-tutorial.textile
+++ b/doc/org.eclipse.ocl.doc/doc/4200-oclinterpreter-tutorial.textile
@@ -28,9 +28,9 @@ One of the purposes of parsing an expression is to validate it: if it can be
parsed, it is well-formed (the parser automatically validates the expression
against the semantic well-formedness rules).
-The main entrypoint into the OCL API is the "OCL":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html class. An @OCL@ provides an autonomous OCL parsing environment. It tracks all constraints that are parsed in this environment, including the definitions of additional operations and attributes. The @OCL.newInstance()@ factory method is used to create a new OCL with an @EnvironmentFactory@ that provides the binding to a particular metamodel (Ecore or UML). In this tutorial, we will use the Ecore binding.
+The main entrypoint into the OCL API is the "OCL":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html class. An @OCL@ provides an autonomous OCL parsing environment. It tracks all constraints that are parsed in this environment, including the definitions of additional operations and attributes. The @OCL.newInstance()@ factory method is used to create a new OCL with an @EnvironmentFactory@ that provides the binding to a particular metamodel (Ecore or UML). In this tutorial, we will use the Ecore binding.
-To parse a query expression, we will use the "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html object, which provides convenient operations for parsing queries and constraints
+To parse a query expression, we will use the "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html object, which provides convenient operations for parsing queries and constraints
(intended for processing constraints embedded in models).
bc..
@@ -106,18 +106,18 @@ and @oclIsNew()@ may only be used in operation post-condition constraints.
h3(evaluating). Evaluating OCL Expressions and Constraints
More interesting than parsing an OCL expression or constraint is evaluating it
-on some object. The "@Query@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html
+on some object. The "@Query@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html
interface provides two methods for evaluating expressions. Queries are
constructed by factory methods on the @OCL@ class.
-* "@Object evaluate(Object)@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html#evaluate(org.eclipse.emf.ecore.EObject)
+* "@Object evaluate(Object)@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html#evaluate(org.eclipse.emf.ecore.EObject)
evaluates the expression on the specified object, returning the result.
The caller is expected to know the result type, which could be a
primitive, @EObject@, or a collection. There
are variants of this method for evaluation of the query on multiple
objects and on no object at all (for queries that require no "self"
context).
-* "@boolean evaluate(Object)@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html#check(org.eclipse.emf.ecore.EObject)
+* "@boolean evaluate(Object)@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html#check(org.eclipse.emf.ecore.EObject)
This method evaluates a special kind of OCL expression called a
_constraint_. Constraints are distinguished from other OCL queries
by having a boolean value; thus, they can be used to implement invariant
@@ -128,13 +128,13 @@ constructed by factory methods on the @OCL@ class.
In order to support the @allInstances()@ operation on OCL types,
the @OCL@ API provides the
-"@setExtentMap(Map<CLS, ? extends Set<? extends E>> extentMap)@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)
+"@setExtentMap(Map<CLS, ? extends Set<? extends E>> extentMap)@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)
method. This assigns a mapping of classes (in the Ecore binding,
@EClass@ es) to the sets of their instances. By default,
the @OCL@ provides a dynamic map that computes the
extents on demand from the contents of a @Resource@.
An alternative extent map can be
-found in "@org.eclipse.ocl.ecore.opposites.ExtentMap@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html .
+found in "@org.eclipse.ocl.ecore.opposites.ExtentMap@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html .
We will use a custom extent map in evaluating a query expression that finds
books that have the same title as a designated book:
@@ -198,13 +198,13 @@ h3(contentassist). Implementing Content Assist
The @OCLHelper@ interface provides an operation that
computes content-assist proposals in an abstract form, as
-"@Choice@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/Choice.html s.
+"@Choice@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/Choice.html s.
An application's UI can then convert these to JFace's
@ICompletionProposal@ type.
Obtaining completion choices consists of supplying a partial OCL expression
(up to the cursor location in the UI editor) to the
-"@OCLHelper::getSyntaxHelp(ConstraintKind, String)@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html#getSyntaxHelp(org.eclipse.ocl.helper.ConstraintKind, java.lang.String)
+"@OCLHelper::getSyntaxHelp(ConstraintKind, String)@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html#getSyntaxHelp(org.eclipse.ocl.helper.ConstraintKind, java.lang.String)
method. This method requires a @ConstraintKind@
enumeration indicating the type of constraint that is to be parsed (some OCL
constructs are restricted in the kinds of constraints in which they may be used).
@@ -259,9 +259,9 @@ support persistence in or as an adjunct to Ecore and UML models.
For processing the abstract syntax tree (AST) parsed from OCL text, the API
supplies a
-"@Visitor@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitor.html
+"@Visitor@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitor.html
interface. By implementing this interface (or extending the
-"@AbstractVisitor@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/AbstractVisitor.html
+"@AbstractVisitor@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/AbstractVisitor.html
class, which is recommended), we can walk the AST of an OCL expression to
transform it in some way.
This is exactly what the interpreter, itself, does to evaluate an
diff --git a/doc/org.eclipse.ocl.doc/doc/5000-programmers-guide.textile b/doc/org.eclipse.ocl.doc/doc/5000-programmers-guide.textile
index 81e5b4906d..ab98b2d19b 100644
--- a/doc/org.eclipse.ocl.doc/doc/5000-programmers-guide.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5000-programmers-guide.textile
@@ -3,7 +3,7 @@ h1(#ProgrammersGuide). Classic Ecore/UML Programmers Guide
The Ecore/UML Programmers Guide describes the ways in which the Ecore or UML bindings of Eclipse OCL can be used from Java programs.
The Ecore binding has been available since Eclipse OCL 1.0.0 (Callisto). The UML binding was added in 1.1.0 (Europa). Both will remain for as long as necessary. Examples quality prototypes of the new UML-aligned Pivot binding were first available in 3.1.0 (Indigo). The Pivot binding
-will become the preferred binding in 6.0.0 (Mars). The Pivot binding is described in a separate "Pivot Programmers Guide":#PivotProgrammersGuide.
+became the preferred binding in 6.0.0 (Mars). The Pivot binding is described in a separate "Pivot Programmers Guide":#PivotProgrammersGuide.
The OCL Parser/Interpreter provides an implementation of the "Object Constraint Language 2.4":http://www.omg.org/spec/OCL specification for EMF-based metamodels and models. It offers OCL
constraint and query parsing and evaluation, model-based validation, and
diff --git a/doc/org.eclipse.ocl.doc/doc/5110-parsing-constraints.textile b/doc/org.eclipse.ocl.doc/doc/5110-parsing-constraints.textile
index 720d43b16f..268aec2ec5 100644
--- a/doc/org.eclipse.ocl.doc/doc/5110-parsing-constraints.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5110-parsing-constraints.textile
@@ -1,8 +1,8 @@
h2(#ParsingConstraints). Parsing Constraints and Queries
-The OCL parser provides two APIs for parsing constraint and query expressions. The "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html interface is designed primarily for parsing constraints and query expressions
-embedded in models, such as Ecore or UML models. The "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html class serves as the main entrypoint into the parsing API but also implements the
+The OCL parser provides two APIs for parsing constraint and query expressions. The "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html interface is designed primarily for parsing constraints and query expressions
+embedded in models, such as Ecore or UML models. The "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html class serves as the main entrypoint into the parsing API but also implements the
parsing of "OCL documents":#ParsingDocuments, for example from
text files. In both cases, the concept of @Environment@
is crucial.
@@ -14,7 +14,7 @@ API, that clients of the OCL parser interact with:
!{width:100%}images/5110-environment.png(Core OCL Environment API)!
-The "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html class is a generic type; its type parameters represent the various metaclasses
+The "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html class is a generic type; its type parameters represent the various metaclasses
of the metamodels that OCL works with in the UML/MOF family of OMG specifications.
For example, @<C>@ represents the Classifier
concept, @<O>@ the Operation concept, etc. See
@@ -24,8 +24,8 @@ throughout the OCL APIs to represent the same metaclasses.
The @OCL@ class defines instances of autonomous OCL
parsing and evaluation environments. It has a single root
-"@Environment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html created by an
-"@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html
+"@Environment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html created by an
+"@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html
implementation for a particular EMF-based metamodel. The OCL environment
consists, conceptually, of the model that is to be constrained together with
all of the constraints and additional operations and attributes defined (via
@@ -50,7 +50,7 @@ classifier that defines these features, or it may inherit them from some more
general classifier.
An @Environment@ may contain named
-"@Variable@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/expressions/Variable.html s
+"@Variable@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/expressions/Variable.html s
to which OCL expressions can refer. The most common of these is
@self@. Others include the parameters defined by an
operation (and its @result@), in the case of an
@@ -78,10 +78,10 @@ h3. The OCL Helper
From an OCL instance, we can create a helper object with which to parse constraints
and additional operation/attribute definitions. This
-"@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html
+"@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html
stores all of the instantiations of OCL template metaclasses (such as
-"@CollectionType(T)@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/types/CollectionType.html
-and "@TupleType@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/types/TupleType.html
+"@CollectionType(T)@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/types/CollectionType.html
+and "@TupleType@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/types/TupleType.html
and additional operation/attribute definitions in the root environment of the
@OCL@ that created it. This ensures that all of these
constructs are available for reuse in subsequent parsing.
@@ -110,7 +110,7 @@ nested @Environment@s in the host @OCL@
instance's root environment.
The result of parsing a query expression is an
-"@OCLExpression@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/expressions/OCLExpression.html,
+"@OCLExpression@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/expressions/OCLExpression.html,
an instance of the "Abstract Syntax Model":#AbstractSyntax . The
result of parsing a constraint is an instance of the
@Constraint@ metaclass defined by the
diff --git a/doc/org.eclipse.ocl.doc/doc/5115-evaluating-constraints.textile b/doc/org.eclipse.ocl.doc/doc/5115-evaluating-constraints.textile
index 48705b8637..3d5a7c4636 100644
--- a/doc/org.eclipse.ocl.doc/doc/5115-evaluating-constraints.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5115-evaluating-constraints.textile
@@ -11,13 +11,13 @@ h3. The OCL Query
Like the @OCLHelper@ for parsing constraints, the OCL
facade object provides
-"@Query@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html
+"@Query@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html
objects for evaluating constraints and query expressions.
!images/5115-query.png(OCL Query API)!
The @Query@ encapsulates an
-"@EvaluationEnvironment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EvaluationEnvironment.html
+"@EvaluationEnvironment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EvaluationEnvironment.html
providing the run-time values of context variables to the OCL interpreter. These
context variables are set and retrieved using the following methods:
@@ -40,11 +40,11 @@ other kinds of @DataType@ s are undefined. For
@Class@ extents, the @EvaluationEnvironment@
provides support for an extent map, mapping classes to the sets of their
instances, as determined by the client. A client sets the extent map using the
-"@OCL.setExtentMap()@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)
+"@OCL.setExtentMap()@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)
method. The default extent map, if none is provided by the client, lazily
computes the extent of a class from the EMF @Resource@
containing the context element of the evaluation. An alternative extent map can be
-found in "@org.eclipse.ocl.ecore.opposites.ExtentMap@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html.
+found in "@org.eclipse.ocl.ecore.opposites.ExtentMap@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html.
So, after optionally setting values of context variables (other than
@self@; the @Query@ takes care
diff --git a/doc/org.eclipse.ocl.doc/doc/5120-parsing-documents.textile b/doc/org.eclipse.ocl.doc/doc/5120-parsing-documents.textile
index 67e7444bb4..5309d70ddc 100644
--- a/doc/org.eclipse.ocl.doc/doc/5120-parsing-documents.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5120-parsing-documents.textile
@@ -1,7 +1,7 @@
h2(#ParsingDocuments). Parsing OCL Documents
-As we saw in the "Parsing Constraints and Queries":#ParsingConstraints topic, the OCL parser provides an "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html API for parsing constraints embedded in models. OCL also permits constraints
+As we saw in the "Parsing Constraints and Queries":#ParsingConstraints topic, the OCL parser provides an "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html API for parsing constraints embedded in models. OCL also permits constraints
to be specified in a text document, as an adjunct to the model. In this case,
the concrete syntax for context declarations indicates the context of
constraints, equivalent to their placement in models.
@@ -17,7 +17,7 @@ p.
h3. The OCL Input
-The "@OCLInput@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCLInput.html class encapsulates an OCL document. An input can be created from a string or an
+The "@OCLInput@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCLInput.html class encapsulates an OCL document. An input can be created from a string or an
input stream.
!{width:100%}images/5120-input.png(OCL Input API)!
diff --git a/doc/org.eclipse.ocl.doc/doc/5130-target-metamodels.textile b/doc/org.eclipse.ocl.doc/doc/5130-target-metamodels.textile
index 53c8259fe5..20f26ef44a 100644
--- a/doc/org.eclipse.ocl.doc/doc/5130-target-metamodels.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5130-target-metamodels.textile
@@ -9,14 +9,14 @@ additional EMF-based metamodels to be plugged in.
bq..
The direct and indirect coupling of the Ecore and UML2 meta-models to Ecore makes exact compliance with the OMG specification very difficult, particularly in the area of reflection. Eclipse OCL is therefore migrating to a new potentially 100% OMG compliant Pivot metamodel that hides the differencess between OMG's UML and EMOF and Eclipse's UML and Ecore. The Pivot binding is described in the "Pivot Programmers Guide":#PivotProgrammersGuide.
p.
-The OCL API implements support for different target metamodels via the "@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html interface. An implementation of this interface binds the metamodel's metaclasses to the generic type parameters of the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html class. The metamodel-specific "@Environment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
+The OCL API implements support for different target metamodels via the "@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html interface. An implementation of this interface binds the metamodel's metaclasses to the generic type parameters of the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html class. The metamodel-specific "@Environment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
h3. The Ecore Metamodel Binding
An OCL binding for the Ecore metamodel is provided by the @org.eclipse.ocl.ecore@ plug-in. It is best suited to parsing and evaluating OCL constraints on Ecore models. Evaluation of constraints is supported on instances of the EMF-generated Java API (Ecore as the source for the genmodel) and on dynamic EObjects.
As is illustrated by most of the examples in this documentation, the Ecore binding is provided by the
-"@EcoreEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html class. By default, the Ecore environment uses the static @EPackage@ registry to look up package names. It can also be supplied with an alternative package registry (for example, one local to a @ResourceSet@) but it will always use the static registry as a backup. Aside from the package registry, the Ecore environment factory maintains no state. So, when the shared registry is to be used, the static @EcoreEnvironmentFactory.INSTANCE@ is most practical.
+"@EcoreEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html class. By default, the Ecore environment uses the static @EPackage@ registry to look up package names. It can also be supplied with an alternative package registry (for example, one local to a @ResourceSet@) but it will always use the static registry as a backup. Aside from the package registry, the Ecore environment factory maintains no state. So, when the shared registry is to be used, the static @EcoreEnvironmentFactory.INSTANCE@ is most practical.
The Ecore binding for OCL provides the following capabilities, reflecting the subset of Ecore's modeling constructs with respect to UML:
@@ -57,7 +57,7 @@ h3. The UML Metamodel Binding
An OCL binding for the UML metamodel is provided by the @org.eclipse.ocl.uml@ plug-in. It is best suited to parsing and evaluating OCL constraints on UML models. Evaluation of constraints is supported on instances of the UML2-generated Java API (UML as the source for the genmodel), on dynamic EObjects (using an Ecore model created by the UML-to-Ecore converter), and on @InstanceSpecification@ elements in the UML model.
-The UML binding is provided by the "@UMLEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/uml/UMLEnvironmentFactory.html class. By default, the UML environment factory and all of the environment contexts that it creates use a private @ResourceSet@ to look up the corresponding UML model(s) against which OCL constraints are parsed.
+The UML binding is provided by the "@UMLEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/uml/UMLEnvironmentFactory.html class. By default, the UML environment factory and all of the environment contexts that it creates use a private @ResourceSet@ to look up the corresponding UML model(s) against which OCL constraints are parsed.
* It is the client's responsibility to ensure that the UML model is loaded in the resource set used by the UML environment factory instance.
diff --git a/doc/org.eclipse.ocl.doc/doc/5140-content-assist.textile b/doc/org.eclipse.ocl.doc/doc/5140-content-assist.textile
index 0f253a7c64..006f1c209c 100644
--- a/doc/org.eclipse.ocl.doc/doc/5140-content-assist.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5140-content-assist.textile
@@ -3,7 +3,7 @@ h2. Content Assist Support
bq..
The Content Assist facilities described here are used by the Interactive OCL Console. They are not used by the new Xtext-based Editors or the Interactive Xtext OCL Console.
p.
-The "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html API provides support for content-assist in rich editors, by parsing partial OCL
+The "@OCLHelper@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html API provides support for content-assist in rich editors, by parsing partial OCL
expressions and supplying completion suggestions. The
@List<Choice> getSyntaxHelp(ConstraintKind, String)@ operation
returns a list of suggestions for the next token to follow the end of the
@@ -11,7 +11,7 @@ expression fragment.
!{width:100%}images/5140-contentassist.png(OCL Content Assist API)!
-The "@Choice@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/Choice.html objects returned by the helper include some convenient text strings (name and
+The "@Choice@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/Choice.html objects returned by the helper include some convenient text strings (name and
description) to formulate basic JFace content-assist proposals. Each choice
also carries a reference to the element that it represents, the kind of element
indicated by the @ChoiceKind@ enumeration, for a more
diff --git a/doc/org.eclipse.ocl.doc/doc/5150-abstract-syntax.textile b/doc/org.eclipse.ocl.doc/doc/5150-abstract-syntax.textile
index e7cf3f95be..5871b1933d 100644
--- a/doc/org.eclipse.ocl.doc/doc/5150-abstract-syntax.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5150-abstract-syntax.textile
@@ -12,7 +12,7 @@ _Visitor_ design pattern.
h3. The Visitable and Visitor Interfaces
-All of the metaclasses in the Abstract Syntax Model (nodes in the AST) that can be visited implement the "@Visitable@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitable.html interface. It define a single operation @accept(Visitor)@. This method delegates to the appropriate @visitXyz(Xyz)@ method of the "@Visitor@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitor.html . The direct implementors of the @Visitable@ interface are the @OCLExpression@ and those metaclasses of the @Expressions@ package that do not conform to @OCLExpression@:
+All of the metaclasses in the Abstract Syntax Model (nodes in the AST) that can be visited implement the "@Visitable@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitable.html interface. It define a single operation @accept(Visitor)@. This method delegates to the appropriate @visitXyz(Xyz)@ method of the "@Visitor@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitor.html . The direct implementors of the @Visitable@ interface are the @OCLExpression@ and those metaclasses of the @Expressions@ package that do not conform to @OCLExpression@:
* @Variable@
* @CollectionLiteralPart@
@@ -25,12 +25,12 @@ elements in models.
The OCL parser, internally, defines a few implementations of visitors, including
a @ValidationVisitor@ for validating OCL expressions and an
-"@EvaluationVisitor@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EvaluationVisitor.html for evaluating OCL expressions.
+"@EvaluationVisitor@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EvaluationVisitor.html for evaluating OCL expressions.
h3. Implementing a Visitor
The best way to implement a visitor is to extend the
-"@AbstractVisitor@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/AbstractVisitor.html class. It provides a @result@ variable of the generic
+"@AbstractVisitor@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/AbstractVisitor.html class. It provides a @result@ variable of the generic
type parameter type @T@ to store the result computed
by the visitor (optional) and a convenient pattern of selective method overrides
to process only those nodes of interest for the task at hand.
diff --git a/doc/org.eclipse.ocl.doc/doc/5160-customization.textile b/doc/org.eclipse.ocl.doc/doc/5160-customization.textile
index 609d783faa..98122c5409 100644
--- a/doc/org.eclipse.ocl.doc/doc/5160-customization.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5160-customization.textile
@@ -114,7 +114,7 @@ that knows how to look up this operation, and an @EvaluationEnvironment@
that knows how it is implemented.
First, let's start by defining a specialization of the
-"@EcoreEnvironment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironment.html . The constructor that is used to initialize the root environment of an @OCL@
+"@EcoreEnvironment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironment.html . The constructor that is used to initialize the root environment of an @OCL@
instance will add our @regexMatch@ additional operation to the
@String@ primitive type. The constructor that is used to create
nested environments copies the operation from its parent.
@@ -174,7 +174,7 @@ class MyEnvironment extends EcoreEnvironment {
p.
Next, we will define the corresponding specialization of the
-"@EcoreEvaluationEnvironment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEvaluationEnvironment.html that will know how to evaluate calls to this custom operation:
+"@EcoreEvaluationEnvironment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEvaluationEnvironment.html that will know how to evaluate calls to this custom operation:
bc..
class MyEvaluationEnvironment extends EcoreEvaluationEnvironment {
@@ -208,7 +208,7 @@ class MyEvaluationEnvironment extends EcoreEvaluationEnvironment {
p.
Finally, we define a specialization of the
-"@EcoreEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html that creates our custom environments:
+"@EcoreEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html that creates our custom environments:
bc..
class MyEnvironmentFactory extends EcoreEnvironmentFactory {
@@ -328,7 +328,7 @@ using @putAll@ as shown above.
h3. Customizing Hidden Opposite Lookup and Navigation
-The default "@EcoreEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html produces environments which can find references that have an annotation with source @http://schema.omg.org/spec/MOF/2.0/emof.xml@
+The default "@EcoreEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html produces environments which can find references that have an annotation with source @http://schema.omg.org/spec/MOF/2.0/emof.xml@
that have a detail with key @Property.oppositeRoleName@. In the class that is the type of the reference,
and all its subclasses, for OCL this annotation defines an otherwise "hidden" opposite property which can be used
in OCL expressions. This can be convenient when it is not possible or desirable to define an explicit
@@ -336,14 +336,14 @@ opposite reference, e.g., because the class that would have to own the opposite
modified or the serialization of that class must not be changed.
The logic used to find these "hidden" opposites and to navigate them is provided by implementations
-of the "@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OppositeEndFinder.html interface. By default, the @EcoreEnvironmentFactory@ uses the
-"@DefaultOppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html implementation. It performs the lookup of annotated references by maintaining a cache based on
+of the "@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OppositeEndFinder.html interface. By default, the @EcoreEnvironmentFactory@ uses the
+"@DefaultOppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html implementation. It performs the lookup of annotated references by maintaining a cache based on
the Ecore package registry. Successful navigation of those "hidden" opposites requires an
"@ECrossReferenceAdapter@":http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/util/ECrossReferenceAdapter.html to be registered for the containment hierarchy or the resource or resource set that should be used as the scope of the navigation.
Obviously, "@ECrossReferenceAdapter@":http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/util/ECrossReferenceAdapter.html has a significant downside: it responds to "hidden" opposite navigation requests only based on what has so far been loaded by EMF. If the set of resources held by an underlying EMF storage system contains more resources than have so far been loaded into the resource set, non-loaded content from that storage system won't be considered by the @ECrossReferenceAdapter@. Given a store with reasonable search capabilities it is desirable to take advantage of these capabilities also to perform reverse navigation of those "hidden" opposites. To achieve this, a specific implementation of the
-"@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OppositeEndFinder.html interface can be provided. It may be a specialization of
-"@DefaultOppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html, e.g., when the reference lookup based on the Ecore package registry is sufficient and only the navigation behavior shall be redefined:
+"@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OppositeEndFinder.html interface can be provided. It may be a specialization of
+"@DefaultOppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html, e.g., when the reference lookup based on the Ecore package registry is sufficient and only the navigation behavior shall be redefined:
bc..
class MyOppositeEndFinder extends DefaultOppositeEndFinder {
diff --git a/doc/org.eclipse.ocl.doc/doc/5170-persistence.textile b/doc/org.eclipse.ocl.doc/doc/5170-persistence.textile
index 31a4f2138f..ac52e5068f 100644
--- a/doc/org.eclipse.ocl.doc/doc/5170-persistence.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5170-persistence.textile
@@ -22,17 +22,17 @@ The problem is, that the OCL Specification does not indicate how expressions tha
such demand-created types can be persisted, because it does not define what should own these
types. A similar problem exists for additional operations and attributes defined in OCL
via @def:@ expressions. The
-"@TypeResolver@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/TypeResolver.html API is responsible for the demand-creation of these types and for their persistence.
+"@TypeResolver@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/TypeResolver.html API is responsible for the demand-creation of these types and for their persistence.
!images/5170-persistence.png(OCL Persistence API)!
-Every "@Environment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html has a @TypeResolver@ that persists demand-created types and additional features. For a client that doesn't require persistence, the @TypeResolver@ will create a @Resource@ with the dummy @ocl://@ scheme (no resource factory is provided for this scheme).
+Every "@Environment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html has a @TypeResolver@ that persists demand-created types and additional features. For a client that doesn't require persistence, the @TypeResolver@ will create a @Resource@ with the dummy @ocl://@ scheme (no resource factory is provided for this scheme).
A client that does require persistence of OCL expressions and these demand-created elements
should provide a specific resource in which to store them, either via the
-"@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html class's
+"@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html class's
@newInstance(EnvironmentFactory, Resource)@ factory method or via
-the "@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html interface's @load(Resource)@ method.
+the "@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html interface's @load(Resource)@ method.
bc..
Resource modelResource = getResourceSet().getResource(
@@ -49,7 +49,7 @@ ocl = OCL.newInstance(EcoreEnvironmentFactory.INSTANCE, myResource);
...
p.
-The "@AbstractTypeResolver@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/AbstractTypeResolver.html class creates packages in which to store the different elements that it creates: collection types, message types, tuple types, and additional operations and attributes. These last are owned by classes that "shadow" the classifiers in which context they are defined, in
+The "@AbstractTypeResolver@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/AbstractTypeResolver.html class creates packages in which to store the different elements that it creates: collection types, message types, tuple types, and additional operations and attributes. These last are owned by classes that "shadow" the classifiers in which context they are defined, in
the manner by which the OCL specification's adaptation for EMOF indicates that operations
are to be "owned" by EMOF @DataType@ s.
diff --git a/doc/org.eclipse.ocl.doc/doc/5180-metamodel-bindings.textile b/doc/org.eclipse.ocl.doc/doc/5180-metamodel-bindings.textile
index 60e3627967..539191c669 100644
--- a/doc/org.eclipse.ocl.doc/doc/5180-metamodel-bindings.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5180-metamodel-bindings.textile
@@ -5,7 +5,7 @@ plus bindings for two popular Eclipse metamodels: Ecore and UML. Users of the
can likewise create bindings for their metamodels, to integrate OCL with their modeling
languages.
-The "@Environment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html interface has a generic type signature with several parameters, representing the metamodeling
+The "@Environment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html interface has a generic type signature with several parameters, representing the metamodeling
constructs required by OCL, that it borrows from UML, EMOF, and the other metamodels that
it targets. The Javadoc for that interface defines the mappings, and the same type parameter
names are used consistently throughout the OCL API.
diff --git a/doc/org.eclipse.ocl.doc/doc/5190-impact-analyzer.textile b/doc/org.eclipse.ocl.doc/doc/5190-impact-analyzer.textile
index 07f04c88ad..2509fbfbd9 100644
--- a/doc/org.eclipse.ocl.doc/doc/5190-impact-analyzer.textile
+++ b/doc/org.eclipse.ocl.doc/doc/5190-impact-analyzer.textile
@@ -7,9 +7,9 @@ can easily affect invariants for model elements in other resources. To reliably
invalidated constraints after a change it would be necessary to re-evaluate all invariants
on all their context objects regardless their resource. This does not scale sufficiently well.
-The "@ImpactAnalyzerFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html interface allows tool builders to efficiently determine a much smaller set of model elements on which re-evaluation of expressions is necessary after a change.
+The "@ImpactAnalyzerFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html interface allows tool builders to efficiently determine a much smaller set of model elements on which re-evaluation of expressions is necessary after a change.
-Given an "OCL expression":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OCLExpression.html, the factory can be used to create an impact analyzer for a single expression as follows:
+Given an "OCL expression":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OCLExpression.html, the factory can be used to create an impact analyzer for a single expression as follows:
bc..
final OCLExpression e = ...;
@@ -52,7 +52,7 @@ notation.
!{width:60%}images/5190-impact-analyzer-instances.png(Impact Analyzer Instances)!
-The "event manager factory":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/eventmanager/EventManagerFactory.html and the "event managers":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/eventmanager/EventManager.html it produces lay the scalable foundation for the re-evaluation process. Even if it has to manage many subscriptions, its performance does not degrade as it would if the change notification filters were evaluated one after the other. With this it becomes possible to register many OCL expressions for change impact analysis as shown above. The figure below shows a typical default configuration of an event manager, as a UML instance collaboration diagram.
+The "event manager factory":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/eventmanager/EventManagerFactory.html and the "event managers":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/eventmanager/EventManager.html it produces lay the scalable foundation for the re-evaluation process. Even if it has to manage many subscriptions, its performance does not degrade as it would if the change notification filters were evaluated one after the other. With this it becomes possible to register many OCL expressions for change impact analysis as shown above. The figure below shows a typical default configuration of an event manager, as a UML instance collaboration diagram.
!{width:70%}images/5190-event-manager-default-config.png(Default Event Manager Configuration)!
@@ -120,9 +120,9 @@ its subtypes.
h3. Impact Analyzer Configuration, Scopes
The impact analyzer can be created in several different configurations as explained in
-detail in the "Javadocs":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html . Particularly noteworthy is the relationship between the "@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html and the way an @allInstance@ expression is evaluated. Both depend on a notion of lookup @scope@. EMF does not provide any particular rules or conventions in this regard other than assuming that what has been loaded into a @ResourceSet@ is what tools can see. While this is a working procedure for forward navigation, it doesn't help in defining a scope for @allInstances@ and reverse navigation when there is no explicit opposite property.
+detail in the "Javadocs":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html . Particularly noteworthy is the relationship between the "@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html and the way an @allInstance@ expression is evaluated. Both depend on a notion of lookup @scope@. EMF does not provide any particular rules or conventions in this regard other than assuming that what has been loaded into a @ResourceSet@ is what tools can see. While this is a working procedure for forward navigation, it doesn't help in defining a scope for @allInstances@ and reverse navigation when there is no explicit opposite property.
-For this purpose, Eclipse OCL has introduced the "@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html interface through which reverse navigations
+For this purpose, Eclipse OCL has introduced the "@OppositeEndFinder@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html interface through which reverse navigations
of references and @allInstances@ lookups can be performed. Its default implementation
is based on the EMF default which is to consider the contents of a @ResourceSet@ the
universe. Other implementations are possible, however, such as one that uses
@@ -132,9 +132,9 @@ A default OCL evaluator will always use the current @ResourceSet@ to determine
the set of all instances of a type. If a client has used an opposite end finder that implements
a certain lookup strategy then the default @allInstances@ evaluation is most likely
inconsistent with the scope definitions of that opposite end finder. To avoid such problems,
-a "specific OCL factory":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/util/OCL.html can create OCL instances that ensure consistency between opposite navigation and @allInstances@ evaluation.
+a "specific OCL factory":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/util/OCL.html can create OCL instances that ensure consistency between opposite navigation and @allInstances@ evaluation.
-Other configuration options (see "@ActivationOption@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/configuration/ActivationOption.html) concern the specific algorithm used for tracing back from a change notification to the set of context objects for which the expression
+Other configuration options (see "@ActivationOption@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/configuration/ActivationOption.html) concern the specific algorithm used for tracing back from a change notification to the set of context objects for which the expression
may have changed its value. The default selection has proven to be the fastest for a set
of benchmarks. However, mileage may vary, and we'd like to encourage users to experiment
also with the non-default configurations.
diff --git a/doc/org.eclipse.ocl.doc/doc/6000-pivot-programmers-guide.textile b/doc/org.eclipse.ocl.doc/doc/6000-pivot-programmers-guide.textile
index e6b284285c..85c5fd869c 100644
--- a/doc/org.eclipse.ocl.doc/doc/6000-pivot-programmers-guide.textile
+++ b/doc/org.eclipse.ocl.doc/doc/6000-pivot-programmers-guide.textile
@@ -3,7 +3,7 @@ h1(#PivotProgrammersGuide). Unified or Pivot Programmers Guide
The Unified or Pivot Programmers Guide describes the ways in which the Pivot binding Eclipse OCL can be used from Java programs.
The Pivot binding was first available as an examples quality prototype in 3.1.0 (Indigo). The Pivot binding
-will become the preferred binding in 6.0.0 (Mars). The older Ecore and UML bindings are described in a separate "Ecore/UML Programmers Guide":#ProgrammersGuide.
+became the preferred binding in 6.0.0 (Mars). The older Ecore and UML bindings are described in a separate "Ecore/UML Programmers Guide":#ProgrammersGuide.
The OCL Parser/Interpreter provides an implementation of the "Object Constraint Language 2.4":http://www.omg.org/spec/OCL specification for EMF-based metamodels and models. It offers OCL
constraint and query parsing and evaluation, model-based validation, and
diff --git a/doc/org.eclipse.ocl.doc/doc/6310-pivot-parsing-constraints.textile b/doc/org.eclipse.ocl.doc/doc/6310-pivot-parsing-constraints.textile
index e4b34d21af..2a24cd8cb3 100644
--- a/doc/org.eclipse.ocl.doc/doc/6310-pivot-parsing-constraints.textile
+++ b/doc/org.eclipse.ocl.doc/doc/6310-pivot-parsing-constraints.textile
@@ -3,11 +3,11 @@ h2(#PivotParsingConstraints). Parsing Constraints and Queries
This section may be contrasted with the corresponding "Parsing Constraints and Queries":#ParsingConstraints for the Ecore binding to see examples of the changes needed to migrate from the Ecore binding to the Pivot binding.
-The OCL parser provides two APIs for parsing constraint and query expressions using the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html Facade.
+The OCL parser provides two APIs for parsing constraint and query expressions using the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html Facade.
h3. The OCL Facade
-The "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html class provides both a Facade and a Handle for the various objects that support different aspects of OCL parsing and evaluation.
+The "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html class provides both a Facade and a Handle for the various objects that support different aspects of OCL parsing and evaluation.
!{width:60%}images/6310-environment.png(Core OCL Environment API)!
@@ -68,7 +68,7 @@ Parsing an OCL expression requires a classifier to define the type of @self@. Th
@createInvariant()@, which enforces a Boolean result type, or to @createQuery()@, which allows any result type.
The result of parsing a query expression or a constraint is an
-"@ExpressionInOCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/ExpressionInOCL.html,
+"@ExpressionInOCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/ExpressionInOCL.html,
an instance of the "Abstract Syntax Model":#AbstractSyntax.
!{width:70%}images/6310-context.png(The OCL Context)!
diff --git a/doc/org.eclipse.ocl.doc/doc/6315-pivot-evaluating-constraints.textile b/doc/org.eclipse.ocl.doc/doc/6315-pivot-evaluating-constraints.textile
index 55a8a09227..670999277e 100644
--- a/doc/org.eclipse.ocl.doc/doc/6315-pivot-evaluating-constraints.textile
+++ b/doc/org.eclipse.ocl.doc/doc/6315-pivot-evaluating-constraints.textile
@@ -5,19 +5,19 @@ In "Parsing Constraints":#PivotParsingConstraints, we saw how to use
the @OCL@ Facade to parse a textual OCL constraint or query expressions to give its
@ExpressionInOCL@ compiled representation. Parsing constraints is interesting,
but evaluating them using the
-"@Query@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/Query.html
+"@Query@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/Query.html
API is much more useful.
h3. The OCL Query
The
-"@Query@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/Query.html
+"@Query@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/Query.html
class wraps the minimal @ExpressionInOCL@ parse result to provide evaluation capabilities.
!{width:60%}images/6315-query.png(OCL Query API)!
The @Query@ encapsulates an
-"@EvaluationEnvironment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/evaluation/EvaluationEnvironment.html
+"@EvaluationEnvironment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/evaluation/EvaluationEnvironment.html
providing the run-time values of context variables to the OCL interpreter. These
context variables are set and retrieved using the following methods:
@@ -39,9 +39,9 @@ An important consideration for OCL evaluation is the
extent of a classifier. For data types, this is a simple problem: the extent
of an @Enumeration@ is well defined and the extents of
other kinds of @DataType@==s== are undefined. For
-@Class@ extents, the @OCL@ handle references a "@ModelManager@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/evaluation/ModelManager.html
+@Class@ extents, the @OCL@ handle references a "@ModelManager@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/evaluation/ModelManager.html
that provides access to the user's models. The default
-"@PivotModelManager@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/internal/evaluation/PivotModelManager.html
+"@PivotModelManager@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/internal/evaluation/PivotModelManager.html
lazily computes the extent of a class from the EMF @ResourceSet@
containing the context element of the evaluation.
diff --git a/doc/org.eclipse.ocl.doc/doc/6320-pivot-parsing-documents.textile b/doc/org.eclipse.ocl.doc/doc/6320-pivot-parsing-documents.textile
index eb0b7f20bc..eccde555ed 100644
--- a/doc/org.eclipse.ocl.doc/doc/6320-pivot-parsing-documents.textile
+++ b/doc/org.eclipse.ocl.doc/doc/6320-pivot-parsing-documents.textile
@@ -1,7 +1,7 @@
h2(#PivotParsingDocuments). Parsing OCL Documents
-As we saw in the "Parsing Constraints and Queries":#PivotParsingConstraints topic, the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/OCL.html
+As we saw in the "Parsing Constraints and Queries":#PivotParsingConstraints topic, the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/OCL.html
Facade provides an API for parsing OCL expressions embedded in models as constraints.
The OCL specification defines a Complete OCL text document with which a UML (or Ecore) metamodel
diff --git a/doc/org.eclipse.ocl.doc/doc/6330-pivot-metamodels.textile b/doc/org.eclipse.ocl.doc/doc/6330-pivot-metamodels.textile
index ddc3f0d07d..1ad2d98b8c 100644
--- a/doc/org.eclipse.ocl.doc/doc/6330-pivot-metamodels.textile
+++ b/doc/org.eclipse.ocl.doc/doc/6330-pivot-metamodels.textile
@@ -7,7 +7,7 @@ and an "extensibility API":#AdvancedMetamodelBindings that allows
additional EMF-based metamodels to be plugged in. The indirection through the UML-aligned Pivot metamodel makes OMG compliance much easier and decouples the implementationm from particular bindings. Support for an alternate concrete metamodel representation is therefore comparatively simple.
p.
-The OCL API implements support for different target metamodels via the "@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/EnvironmentFactory.html interface. An implementation of this interface binds the metamodel's metaclasses to the generic type parameters of the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html class. The metamodel-specific "@Environment@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/pivot/Environment.html implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
+The OCL API implements support for different target metamodels via the "@EnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/EnvironmentFactory.html interface. An implementation of this interface binds the metamodel's metaclasses to the generic type parameters of the "@OCL@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html class. The metamodel-specific "@Environment@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/pivot/Environment.html implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
h3. The Pivot Metamodel Binding
@@ -33,7 +33,7 @@ The implementation-specific packages provide
It is anticipated that the performance advantages of a uniform compliant metamodel, without the complexities of the templates from the @org.eclipse.ocl@ plugin, will outweigh the initial overhead of converting an Ecore or UML metamodel to Pivot form. Once this has been demonstrated, the direct Ecore and UML metamodels will be deprecated.
The Pivot binding is provided by the
-"@PivotEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/internal/utilities/PivotEnvironmentFactory.html class. For compatibility, as a default, the Pivot environment uses the static @EPackage@ registry to look up package names. This default is deprecated since the domain of @allInstances()@ may be very large when many models are registered. It should therefore be supplied with an alternative package registry (for example, one local to a @ResourceSet@) for relevant metamodels. The static registry is then used as a backup for package lookups, but not for @allInstances()@. The Pivot environment factory maintains the Pivot models associated with
+"@PivotEnvironmentFactory@":http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/internal/utilities/PivotEnvironmentFactory.html class. For compatibility, as a default, the Pivot environment uses the static @EPackage@ registry to look up package names. This default is deprecated since the domain of @allInstances()@ may be very large when many models are registered. It should therefore be supplied with an alternative package registry (for example, one local to a @ResourceSet@) for relevant metamodels. The static registry is then used as a backup for package lookups, but not for @allInstances()@. The Pivot environment factory maintains the Pivot models associated with
* Ecore metamodels in use
* UML metamodels in use
* Library models in use
diff --git a/doc/org.eclipse.ocl.doc/doc/7000-API.textile b/doc/org.eclipse.ocl.doc/doc/7000-API.textile
index 37ecac323a..2141df2ca0 100644
--- a/doc/org.eclipse.ocl.doc/doc/7000-API.textile
+++ b/doc/org.eclipse.ocl.doc/doc/7000-API.textile
@@ -3,7 +3,7 @@ h1. API Reference
h2. Javadoc
-The Javadoc for Eclipse OCL 6.0.0 (Mars) APIs may be found by following the "OCL 6.0.0 API Reference":http://download.eclipse.org/ocl/javadoc/6.0.0/ link.
+The Javadoc for Eclipse OCL 6.1.0 (Mars) APIs may be found by following the "OCL 6.1.0 API Reference":http://download.eclipse.org/ocl/javadoc/6.1.0/ link.
h2. Extension points
diff --git a/doc/org.eclipse.ocl.doc/help/APIReference.html b/doc/org.eclipse.ocl.doc/help/APIReference.html
index f780034aab..a2b3017219 100644
--- a/doc/org.eclipse.ocl.doc/help/APIReference.html
+++ b/doc/org.eclipse.ocl.doc/help/APIReference.html
@@ -39,8 +39,8 @@
</div>
</div>
</div>
-<p>The Javadoc for Eclipse OCL 6.0.0 (Mars) APIs may be found by following the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/" target="_new">OCL 6.0.0 API Reference</a> link.
+<p>The Javadoc for Eclipse OCL 6.1.0 (Mars) APIs may be found by following the
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/" target="_new">OCL 6.1.0 API Reference</a> link.
</p>
</div>
</div>
diff --git a/doc/org.eclipse.ocl.doc/help/AbstractSyntax.html b/doc/org.eclipse.ocl.doc/help/AbstractSyntax.html
index e6c7fafd2d..03b394ccfb 100644
--- a/doc/org.eclipse.ocl.doc/help/AbstractSyntax.html
+++ b/doc/org.eclipse.ocl.doc/help/AbstractSyntax.html
@@ -47,12 +47,12 @@
</div>
</div>
<p>All of the metaclasses in the Abstract Syntax Model (nodes in the AST) that can be visited implement the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitable.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitable.html" target="_new">
<code class="code">Visitable</code>
</a> interface. It define a single operation
<code class="code">accept(Visitor)</code>. This method delegates to the appropriate
<code class="code">visitXyz(Xyz)</code> method of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
<code class="code">Visitor</code>
</a> . The direct implementors of the
<code class="code">Visitable</code> interface are the
@@ -102,7 +102,7 @@
a
<code class="code">ValidationVisitor</code> for validating OCL expressions and an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EvaluationVisitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EvaluationVisitor.html" target="_new">
<code class="code">EvaluationVisitor</code>
</a> for evaluating OCL expressions.
</p>
@@ -118,7 +118,7 @@
</div>
<p>The best way to implement a visitor is to extend the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
<code class="code">AbstractVisitor</code>
</a> class. It provides a
<code class="code">result</code> variable of the generic
diff --git a/doc/org.eclipse.ocl.doc/help/AdvancedMetamodelBindings.html b/doc/org.eclipse.ocl.doc/help/AdvancedMetamodelBindings.html
index 4bb23f9e8c..2fc650fba8 100644
--- a/doc/org.eclipse.ocl.doc/help/AdvancedMetamodelBindings.html
+++ b/doc/org.eclipse.ocl.doc/help/AdvancedMetamodelBindings.html
@@ -25,7 +25,7 @@
can likewise create bindings for their metamodels, to integrate OCL with their modeling
languages.</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> interface has a generic type signature with several parameters, representing the metamodeling
constructs required by OCL, that it borrows from UML, EMOF, and the other metamodels that
diff --git a/doc/org.eclipse.ocl.doc/help/Bag.html b/doc/org.eclipse.ocl.doc/help/Bag.html
index e96310bfc1..d3737f07a0 100644
--- a/doc/org.eclipse.ocl.doc/help/Bag.html
+++ b/doc/org.eclipse.ocl.doc/help/Bag.html
@@ -104,12 +104,12 @@
</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Bag(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Bag(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Bag(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Bag(TT)[*|1]</code>
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/Boolean.html b/doc/org.eclipse.ocl.doc/help/Boolean.html
index a0bb078aab..f3f0b8e2fd 100644
--- a/doc/org.eclipse.ocl.doc/help/Boolean.html
+++ b/doc/org.eclipse.ocl.doc/help/Boolean.html
@@ -68,7 +68,7 @@
</p>
<p>
-<code class="code">allInstances() : Set(OclSelf[*|1])</code>
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
</p>
<p>Returns
diff --git a/doc/org.eclipse.ocl.doc/help/Collection.html b/doc/org.eclipse.ocl.doc/help/Collection.html
index 533fb37259..3b6a06d50e 100644
--- a/doc/org.eclipse.ocl.doc/help/Collection.html
+++ b/doc/org.eclipse.ocl.doc/help/Collection.html
@@ -225,21 +225,21 @@
</p>
<p>
-<code class="code">intersection(u : UniqueCollection(T)) : Set(T)</code>
+<code class="code">intersection(c : Collection(T)) : Bag(T)</code>
</p>
<p>The intersection of
- <code class="code">self</code> and a unique collection; the set of all elements that are in both
- <code class="code">self</code> and u.
+ <code class="code">self</code> and bag; the bag of all elements that are in both
+ <code class="code">self</code> and c.
</p>
<p>
-<code class="code">intersection(c : Collection(T)) : Bag(T)</code>
+<code class="code">intersection(u : UniqueCollection(T)) : Set(T)</code>
</p>
<p>The intersection of
- <code class="code">self</code> and bag; the bag of all elements that are in both
- <code class="code">self</code> and c.
+ <code class="code">self</code> and a unique collection; the set of all elements that are in both
+ <code class="code">self</code> and u.
</p>
<p>
@@ -294,7 +294,7 @@
</p>
<p>
-<code class="code">product(T2)(c2 : Collection(T2)) : Set(Tuple(first:T[1], second:T2[1])[*|1])</code>
+<code class="code">product(T2)(c2 : Collection(T2)) : Set(Tuple(first:T[1], second:T2[1]))[*|1]</code>
</p>
<p>The cartesian product operation of
@@ -302,12 +302,12 @@
</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Collection(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Collection(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Collection(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Collection(TT)[*|1]</code>
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/ContentAssistSupport.html b/doc/org.eclipse.ocl.doc/help/ContentAssistSupport.html
index 064229ca58..991ddf175e 100644
--- a/doc/org.eclipse.ocl.doc/help/ContentAssistSupport.html
+++ b/doc/org.eclipse.ocl.doc/help/ContentAssistSupport.html
@@ -28,7 +28,7 @@
</div>
<p>
The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> API provides support for content-assist in rich editors, by parsing partial OCL
expressions and supplying completion suggestions. The
@@ -46,7 +46,7 @@
</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/Choice.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/Choice.html" target="_new">
<code class="code">Choice</code>
</a> objects returned by the helper include some convenient text strings (name and
description) to formulate basic JFace content-assist proposals. Each choice
@@ -103,7 +103,7 @@ for&nbsp;(Choice&nbsp;next&nbsp;:&nbsp;choices)&nbsp;{<br>
<code class="code">Choice</code> s is supported for the
following tokens, which may be used by a client as auto-assist triggers:
</p>
-<table id="N145DB">
+<table id="N14712">
<tr>
<th>Token</th>
diff --git a/doc/org.eclipse.ocl.doc/help/CustomizingtheEnvironment.html b/doc/org.eclipse.ocl.doc/help/CustomizingtheEnvironment.html
index 343114aa90..3a58e03223 100644
--- a/doc/org.eclipse.ocl.doc/help/CustomizingtheEnvironment.html
+++ b/doc/org.eclipse.ocl.doc/help/CustomizingtheEnvironment.html
@@ -193,7 +193,7 @@ def:&nbsp;regexMatch(pattern&nbsp;:&nbsp;String)&nbsp;:&nbsp;String&nbsp;=<br>
</p>
<p>First, let&rsquo;s start by defining a specialization of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironment.html" target="_new">
<code class="code">EcoreEnvironment</code>
</a> . The constructor that is used to initialize the root environment of an
<code class="code">OCL</code>
@@ -264,7 +264,7 @@ def:&nbsp;regexMatch(pattern&nbsp;:&nbsp;String)&nbsp;:&nbsp;String&nbsp;=<br>
<p></p>
<p>Next, we will define the corresponding specialization of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEvaluationEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEvaluationEnvironment.html" target="_new">
<code class="code">EcoreEvaluationEnvironment</code>
</a> that will know how to evaluate calls to this custom operation:
</p>
@@ -306,7 +306,7 @@ def:&nbsp;regexMatch(pattern&nbsp;:&nbsp;String)&nbsp;:&nbsp;String&nbsp;=<br>
<p></p>
<p>Finally, we define a specialization of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
<code class="code">EcoreEnvironmentFactory</code>
</a> that creates our custom environments:
</p>
@@ -475,7 +475,7 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</div>
</div>
<p>The default
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
<code class="code">EcoreEnvironmentFactory</code>
</a> produces environments which can find references that have an annotation with source
<code class="code">http://schema.omg.org/spec/MOF/2.0/emof.xml</code>
@@ -488,12 +488,12 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</p>
<p>The logic used to find these &ldquo;hidden&rdquo; opposites and to navigate them is provided by implementations
of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> interface. By default, the
<code class="code">EcoreEnvironmentFactory</code> uses the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
<code class="code">DefaultOppositeEndFinder</code>
</a> implementation. It performs the lookup of annotated references by maintaining a cache based on
the Ecore package registry. Successful navigation of those &ldquo;hidden&rdquo; opposites requires an
@@ -508,11 +508,11 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</a> has a significant downside: it responds to &ldquo;hidden&rdquo; opposite navigation requests only based on what has so far been loaded by EMF. If the set of resources held by an underlying EMF storage system contains more resources than have so far been loaded into the resource set, non-loaded content from that storage system won&rsquo;t be considered by the
<code class="code">ECrossReferenceAdapter</code>. Given a store with reasonable search capabilities it is desirable to take advantage of these capabilities also to perform reverse navigation of those &ldquo;hidden&rdquo; opposites. To achieve this, a specific implementation of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> interface can be provided. It may be a specialization of
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
<code class="code">DefaultOppositeEndFinder</code>
</a>, e.g., when the reference lookup based on the Ecore package registry is sufficient and only the navigation behavior shall be redefined:
</p>
diff --git a/doc/org.eclipse.ocl.doc/help/Enumeration.html b/doc/org.eclipse.ocl.doc/help/Enumeration.html
index f918aa6500..aad6f5bfa1 100644
--- a/doc/org.eclipse.ocl.doc/help/Enumeration.html
+++ b/doc/org.eclipse.ocl.doc/help/Enumeration.html
@@ -29,7 +29,8 @@
</div>
</div>
</div>
-<p>The Enumeration type is the type of an OrderedSet of EnumerationLiteral.</p>
+<p>@Deprecated: Use OclEnumeration
+ The Enumeration type is the type of an OrderedSet of EnumerationLiteral.</p>
<p>conformsTo
<a class="link" href="OclAny.html" title="OclAny">
<code class="code">OclAny</code>
@@ -54,7 +55,7 @@
</p>
<p>
-<code class="code">allInstances() : Set(OclSelf[*|1])</code>
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
</p>
<p>Return a set of all enumeration values of
diff --git a/doc/org.eclipse.ocl.doc/help/EnumerationLiteral.html b/doc/org.eclipse.ocl.doc/help/EnumerationLiteral.html
index cc20933568..e290f07a5a 100644
--- a/doc/org.eclipse.ocl.doc/help/EnumerationLiteral.html
+++ b/doc/org.eclipse.ocl.doc/help/EnumerationLiteral.html
@@ -46,6 +46,11 @@
<code class="code">Enumeration : Bag(Enumeration)</code>
</p>
+<p>
+
+<code class="code">OclEnumeration : Bag(OclEnumeration)</code>
+
+</p>
</div>
</body>
</html>
diff --git a/doc/org.eclipse.ocl.doc/help/EvaluatingConstraints.html b/doc/org.eclipse.ocl.doc/help/EvaluatingConstraints.html
index 2dec484215..dd8d858f0a 100644
--- a/doc/org.eclipse.ocl.doc/help/EvaluatingConstraints.html
+++ b/doc/org.eclipse.ocl.doc/help/EvaluatingConstraints.html
@@ -42,7 +42,7 @@
<code class="code">OCLHelper</code> for parsing constraints, the OCL
facade object provides
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html" target="_new">
<code class="code">Query</code>
</a>
objects for evaluating constraints and query expressions.
@@ -58,7 +58,7 @@
<p>The
<code class="code">Query</code> encapsulates an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EvaluationEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EvaluationEnvironment.html" target="_new">
<code class="code">EvaluationEnvironment</code>
</a>
providing the run-time values of context variables to the OCL interpreter. These
@@ -115,7 +115,7 @@
provides support for an extent map, mapping classes to the sets of their
instances, as determined by the client. A client sets the extent map using the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
<code class="code">OCL.setExtentMap()</code>
</a>
method. The default extent map, if none is provided by the client, lazily
@@ -123,7 +123,7 @@
<code class="code">Resource</code>
containing the context element of the evaluation. An alternative extent map can be
found in
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
<code class="code">org.eclipse.ocl.ecore.opposites.ExtentMap</code>
</a>.
</p>
diff --git a/doc/org.eclipse.ocl.doc/help/ImpactAnalyzer.html b/doc/org.eclipse.ocl.doc/help/ImpactAnalyzer.html
index 3b83251f78..8f6f839b67 100644
--- a/doc/org.eclipse.ocl.doc/help/ImpactAnalyzer.html
+++ b/doc/org.eclipse.ocl.doc/help/ImpactAnalyzer.html
@@ -27,12 +27,12 @@
invalidated constraints after a change it would be necessary to re-evaluate all invariants
on all their context objects regardless their resource. This does not scale sufficiently well.</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">
<code class="code">ImpactAnalyzerFactory</code>
</a> interface allows tool builders to efficiently determine a much smaller set of model elements on which re-evaluation of expressions is necessary after a change.
</p>
<p>Given an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OCLExpression.html" target="_new">OCL expression</a>, the factory can be used to create an impact analyzer for a single expression as follows:
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OCLExpression.html" target="_new">OCL expression</a>, the factory can be used to create an impact analyzer for a single expression as follows:
</p>
<div class="literallayout">
<p>
@@ -93,8 +93,8 @@ eventManager.subscribe(filter,&nbsp;new&nbsp;AdapterImpl()&nbsp;{<br>
</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/eventmanager/EventManagerFactory.html" target="_new">event manager factory</a> and the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/eventmanager/EventManager.html" target="_new">event managers</a> it produces lay the scalable foundation for the re-evaluation process. Even if it has to manage many subscriptions, its performance does not degrade as it would if the change notification filters were evaluated one after the other. With this it becomes possible to register many OCL expressions for change impact analysis as shown above. The figure below shows a typical default configuration of an event manager, as a UML instance collaboration diagram.
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/eventmanager/EventManagerFactory.html" target="_new">event manager factory</a> and the
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/eventmanager/EventManager.html" target="_new">event managers</a> it produces lay the scalable foundation for the re-evaluation process. Even if it has to manage many subscriptions, its performance does not degrade as it would if the change notification filters were evaluated one after the other. With this it becomes possible to register many OCL expressions for change impact analysis as shown above. The figure below shows a typical default configuration of an event manager, as a UML instance collaboration diagram.
</p>
<p>
@@ -211,8 +211,8 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
</div>
<p>The impact analyzer can be created in several different configurations as explained in
detail in the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">Javadocs</a> . Particularly noteworthy is the relationship between the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">Javadocs</a> . Particularly noteworthy is the relationship between the
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> and the way an
<code class="code">allInstance</code> expression is evaluated. Both depend on a notion of lookup
@@ -221,7 +221,7 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
<code class="code">allInstances</code> and reverse navigation when there is no explicit opposite property.
</p>
<p>For this purpose, Eclipse OCL has introduced the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> interface through which reverse navigations
of references and
@@ -238,11 +238,11 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
<code class="code">allInstances</code> evaluation is most likely
inconsistent with the scope definitions of that opposite end finder. To avoid such problems,
a
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/util/OCL.html" target="_new">specific OCL factory</a> can create OCL instances that ensure consistency between opposite navigation and
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/util/OCL.html" target="_new">specific OCL factory</a> can create OCL instances that ensure consistency between opposite navigation and
<code class="code">allInstances</code> evaluation.
</p>
<p>Other configuration options (see
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/configuration/ActivationOption.html)" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/configuration/ActivationOption.html)" target="_new">
<code class="code">ActivationOption</code>
</a> concern the specific algorithm used for tracing back from a change notification to the set of context objects for which the expression
may have changed its value. The default selection has proven to be the fastest for a set
diff --git a/doc/org.eclipse.ocl.doc/help/OCLInterpreterTutorial.html b/doc/org.eclipse.ocl.doc/help/OCLInterpreterTutorial.html
index a4c71f0e0b..f4b28571d2 100644
--- a/doc/org.eclipse.ocl.doc/help/OCLInterpreterTutorial.html
+++ b/doc/org.eclipse.ocl.doc/help/OCLInterpreterTutorial.html
@@ -80,13 +80,13 @@
parsed, it is well-formed (the parser automatically validates the expression
against the semantic well-formedness rules).</p>
<p>The main entrypoint into the OCL API is the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">OCL</a> class. An
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">OCL</a> class. An
<code class="code">OCL</code> provides an autonomous OCL parsing environment. It tracks all constraints that are parsed in this environment, including the definitions of additional operations and attributes. The
<code class="code">OCL.newInstance()</code> factory method is used to create a new OCL with an
<code class="code">EnvironmentFactory</code> that provides the binding to a particular metamodel (Ecore or UML). In this tutorial, we will use the Ecore binding.
</p>
<p>To parse a query expression, we will use the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> object, which provides convenient operations for parsing queries and constraints
(intended for processing constraints embedded in models).
@@ -207,7 +207,7 @@ try&nbsp;{<br>
</div>
<p>More interesting than parsing an OCL expression or constraint is evaluating it
on some object. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html" target="_new">
<code class="code">Query</code>
</a>
interface provides two methods for evaluating expressions. Queries are
@@ -219,7 +219,7 @@ try&nbsp;{<br>
<li class="listitem">
<p>
-<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html#evaluate(org.eclipse.emf.ecore.EObject)" target="_new">
+<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html#evaluate(org.eclipse.emf.ecore.EObject)" target="_new">
<code class="code">Object evaluate(Object)</code>
</a>
@@ -240,7 +240,7 @@ try&nbsp;{<br>
<li class="listitem">
<p>
-<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html#check(org.eclipse.emf.ecore.EObject)" target="_new">
+<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html#check(org.eclipse.emf.ecore.EObject)" target="_new">
<code class="code">boolean evaluate(Object)</code>
</a>
@@ -263,7 +263,7 @@ try&nbsp;{<br>
</p>
<p>
-<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
+<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
<code class="code">setExtentMap(Map&lt;CLS, ? extends Set&lt;? extends E&gt;&gt; extentMap)</code>
</a>
method. This assigns a mapping of classes (in the Ecore binding,
@@ -275,7 +275,7 @@ try&nbsp;{<br>
<code class="code">Resource</code>.
An alternative extent map can be
found in
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
<code class="code">org.eclipse.ocl.ecore.opposites.ExtentMap</code>
</a> .
We will use a custom extent map in evaluating a query expression that finds
@@ -373,7 +373,7 @@ System.out.println(ok);<br>
<code class="code">OCLHelper</code> interface provides an operation that
computes content-assist proposals in an abstract form, as
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/Choice.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/Choice.html" target="_new">
<code class="code">Choice</code>
</a> s.
An application&rsquo;s UI can then convert these to JFace&rsquo;s
@@ -383,7 +383,7 @@ System.out.println(ok);<br>
<p>Obtaining completion choices consists of supplying a partial OCL expression
(up to the cursor location in the UI editor) to the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html#getSyntaxHelp(org.eclipse.ocl.helper.ConstraintKind" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html#getSyntaxHelp(org.eclipse.ocl.helper.ConstraintKind" target="_new">
<code class="code">OCLHelper::getSyntaxHelp(ConstraintKind, String)</code>
</a>, java.lang.String)
method. This method requires a
@@ -457,12 +457,12 @@ oclAsType(typespec&nbsp;:&nbsp;OclType)&nbsp;:&nbsp;T<br>
<p>For processing the abstract syntax tree (AST) parsed from OCL text, the API
supplies a
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
<code class="code">Visitor</code>
</a>
interface. By implementing this interface (or extending the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
<code class="code">AbstractVisitor</code>
</a>
class, which is recommended), we can walk the AST of an OCL expression to
diff --git a/doc/org.eclipse.ocl.doc/help/OclAny.html b/doc/org.eclipse.ocl.doc/help/OclAny.html
index 3352a92008..33a240984b 100644
--- a/doc/org.eclipse.ocl.doc/help/OclAny.html
+++ b/doc/org.eclipse.ocl.doc/help/OclAny.html
@@ -82,7 +82,7 @@
<p></p>
<p>
-<code class="code">oclAsSet() : Set(OclSelf[*|1])</code>
+<code class="code">oclAsSet() : Set(OclSelf)[*|1]</code>
</p>
<p>Returns a Set with
@@ -97,13 +97,22 @@
</p>
<p>Evaluates to
<code class="code">self</code>, where
- <code class="code">self</code> is of the type identified by T.
- The type T may be any classifier defined in the UML model;
+ <code class="code">self</code> is of the type identified by
+ <code class="code">TT</code>.
+ The type
+ <code class="code">TT</code> may be any classifier defined by OCL or a user metamodel;
if the actual type of
- <code class="code">self</code> at evaluation time does not conform to T,
+ <code class="code">self</code> at evaluation time does not conform to
+ <code class="code">TT</code>,
then the oclAsType operation evaluates to
<code class="code">invalid</code>.
</p>
+<p>If
+ <code class="code">self</code> is a multiply classified instance, the current classification used for OCL navigation
+ is changed to the classification to which
+ <code class="code">TT</code> conforms. The oclAsType call is not well-formed if
+ the classification is ambiguous.
+ </p>
<p>In the case of feature redefinition, casting an object to a supertype of its actual type
does not access the supertype&rsquo;s definition of the feature;
according to the semantics of redefinition, the redefined feature simply does not exist for the object.
@@ -141,9 +150,12 @@
</p>
<p>Evaluates to
<code class="code">true</code> if the type of
- <code class="code">self</code> conforms to t.
+ <code class="code">self</code> conforms to
+ <code class="code">type</code>.
That is,
- <code class="code">self</code> is of type t or a subtype of t.
+ <code class="code">self</code> is of type
+ <code class="code">type</code> or a subtype of
+ <code class="code">type</code>.
</p>
<p>
@@ -162,7 +174,9 @@
</p>
<p>Evaluates to
<code class="code">true</code> if
- <code class="code">self</code> is of the type t but not a subtype of t
+ <code class="code">self</code> is of the type
+ <code class="code">type</code> but not a subtype of
+ <code class="code">type</code>.
</p>
<p>
@@ -192,8 +206,24 @@
<code class="code">oclType() : OclSelf[1]</code>
</p>
-<p>Evaluates to the type of which
- <code class="code">self</code> is an instance.
+<p>Evaluates to the most derived type of which
+ <code class="code">self</code> is currently an instance. If
+ <code class="code">self</code> is an instance of a multiply
+ classified type, the return is the most derived type of the current classification which is established when the instance is
+ passed to OCL, or re-established by an
+ <code class="code">oclAsType()</code> call.
+ </p>
+<p>
+
+<code class="code">oclTypes() : Set(OclSelf)</code>
+
+</p>
+<p>Evaluates to all of the most derived type of which
+ <code class="code">self</code> is an instance. The return from
+ <code class="code">oclTypes()</code>
+ is normally equivalent to that from
+ <code class="code">oclType()</code> unless
+ <code class="code">self</code> is an instance of multiply classified type.
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/OclElement.html b/doc/org.eclipse.ocl.doc/help/OclElement.html
index a75977b89b..95d1adafe1 100644
--- a/doc/org.eclipse.ocl.doc/help/OclElement.html
+++ b/doc/org.eclipse.ocl.doc/help/OclElement.html
@@ -7,7 +7,7 @@
<link rel="home" href="index.html" title="OCL Documentation">
<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
<link rel="prev" href="OclComparable.html" title="OclComparable">
-<link rel="next" href="OclInvalid.html" title="OclInvalid">
+<link rel="next" href="OclEnumeration.html" title="OclEnumeration">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
@@ -39,27 +39,146 @@
</p>
<p>
+<span class="bold"><strong>Attributes</strong></span>
+
+</p>
+<p>
+
+<code class="code">OclElement : Bag(OclElement)</code>
+
+</p>
+<p>
+
+<code class="code">OclElement : Bag(OclElement)</code>
+
+</p>
+<p>
+
+<code class="code">oclContents : Set(OclElement)[*|1]</code>
+
+</p>
+<p>The composed contents of self.</p>
+<p>
+
+<span class="bold"><strong>Associations</strong></span>
+
+</p>
+<p>
+
+<code class="code">oclContainer : OclElement[?]</code>
+
+</p>
+<p>The object for which self is a composed content or null if there is no such object.</p>
+<p>
+
<span class="bold"><strong>Operations</strong></span>
</p>
<p>
-<code class="code">allInstances() : Set(OclSelf[*|1])</code>
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
</p>
<p>Return a set of all instances of the type and derived types of self.</p>
<p>
+<code class="code">oclAsModelType(TT)(type : TT[?]) : TT[1] invalidating</code>
+
+</p>
+<p>Evaluates to
+ <code class="code">self</code>, where
+ <code class="code">self</code> is of the model type identified by
+ <code class="code">TT</code>.
+ </p>
+<p>Most model elements have metamodel types for use with oclAsType, but no model type and so the return is
+ <code class="code">invalid</code>.
+ </p>
+<p>Model elements such as UML&rsquo;s InstnaceSpecification that do support distinct model and metamodel types return
+ <code class="code">self</code>
+ with the cast type
+ <code class="code">TT</code> that may be used for further navigation.
+ If the actual model type of
+ <code class="code">self</code> at evaluation time does not conform to
+ <code class="code">TT</code>,
+ then the oclAsType operation evaluates to
+ <code class="code">invalid</code>.
+ </p>
+<p>If
+ <code class="code">self</code> is a multiply classified instance, the current classification used for OCL navigation
+ is changed to the classification to which
+ <code class="code">TT</code> conforms. The oclAsModelType call is not well-formed if
+ the classification is ambiguous.
+ </p>
+<div class="literallayout">
+<p>
+<code class="code">post&nbsp;IsSelf:&nbsp;result&nbsp;=&nbsp;self<br>
+
+</code>
+</p>
+</div>
+<p></p>
+<p>
+
<code class="code">oclContainer() : OclElement[?]</code>
</p>
<p>Returns the object for which self is a composed content or null if there is no such object.</p>
<p>
-<code class="code">oclContents() : Set(OclElement[*|1])</code>
+<code class="code">oclContents() : Set(OclElement)[*|1]</code>
</p>
<p>Returns the composed contents of self.</p>
+<p>
+
+<code class="code">oclIsModelKindOf(type : OclType[?]) : Boolean[1]</code>
+
+</p>
+<p>Evaluates to
+ <code class="code">true</code> if the type of
+ <code class="code">self</code> conforms to the model type
+ <code class="code">type</code>.
+ That is,
+ <code class="code">self</code> is of type
+ <code class="code">type</code> or a subtype of
+ <code class="code">type</code>.
+ </p>
+<p>The return is normally
+ <code class="code">false</code> since few model elements have model types. UML&rsquo;s InstanceSpecification::classifier provides
+ a multiple classification for a model type.
+ </p>
+<p>
+
+<code class="code">oclModelType() : OclSelf[1]</code>
+
+</p>
+<p>Evaluates to the most derived model type of which
+ <code class="code">self</code> is currently an instance. If
+ <code class="code">self</code> is an instance of a multiply
+ classified model type, the return is the most derived type of the current classification which is established
+ by an
+ <code class="code">oclAsModelType()</code> call.
+ </p>
+<p>The return is normally
+ <code class="code">invalid</code> since few model elements have model types. UML&rsquo;s InstanceSpecification::classifier provides
+ a multiple classification for a model type.
+ </p>
+<p>
+
+<code class="code">oclModelTypes() : Set(OclSelf)</code>
+
+</p>
+<p>Evaluates to all of the most derived model types of which
+ <code class="code">self</code> is an instance. The return from
+ <code class="code">oclModelTypes()</code>
+ is normally equivalent to that from
+ <code class="code">oclModelType()</code> unless
+ <code class="code">self</code> is an instance of multiply classified model type.
+ </p>
+<p>The return is normally
+ <code class="code">invalid</code> since few model elements have model types. UML&rsquo;s InstanceSpecification::classifier provides
+ a multiple classification for a model type.
+ </p>
</div>
</body>
</html>
diff --git a/doc/org.eclipse.ocl.doc/help/OclEnumeration.html b/doc/org.eclipse.ocl.doc/help/OclEnumeration.html
new file mode 100644
index 0000000000..a9cc4c1e4a
--- /dev/null
+++ b/doc/org.eclipse.ocl.doc/help/OclEnumeration.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OclEnumeration</title>
+<link href="book.css" rel="stylesheet" type="text/css">
+<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
+<link rel="home" href="index.html" title="OCL Documentation">
+<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
+<link rel="prev" href="OclElement.html" title="OclElement">
+<link rel="next" href="OclInvalid.html" title="OclInvalid">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+
+ OclEnumeration
+
+ </h1>
+<div class="section" title="OclEnumeration">
+<div class="titlepage">
+<div>
+<div>
+<h2 class="title" style="clear: both">
+<a name="OclEnumeration"></a>
+ <span class="bold"><strong>
+ <code class="code">OclEnumeration</code>
+ </strong></span>
+
+</h2>
+</div>
+</div>
+</div>
+<p>The OclEnumeration type is the implicit supertype of any user Enumeration type.</p>
+<p>conformsTo
+ <a class="link" href="OclType.html" title="OclType">
+ <code class="code">OclType</code>
+ </a>
+
+</p>
+<p>
+
+<span class="bold"><strong>Attributes</strong></span>
+
+</p>
+<p>
+
+<code class="code">allLiterals : OrderedSet(EnumerationLiteral)</code>
+
+</p>
+<p>Evaluates to the literals of the enumeration.</p>
+<p>
+
+<span class="bold"><strong>Operations</strong></span>
+
+</p>
+<p>
+
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
+
+</p>
+<p>Return a set of all enumeration values of
+ <code class="code">self</code>.
+ </p>
+</div>
+</body>
+</html>
diff --git a/doc/org.eclipse.ocl.doc/help/OclInvalid.html b/doc/org.eclipse.ocl.doc/help/OclInvalid.html
index 5278476f2d..e33f01e3a6 100644
--- a/doc/org.eclipse.ocl.doc/help/OclInvalid.html
+++ b/doc/org.eclipse.ocl.doc/help/OclInvalid.html
@@ -6,7 +6,7 @@
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
<link rel="home" href="index.html" title="OCL Documentation">
<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
-<link rel="prev" href="OclElement.html" title="OclElement">
+<link rel="prev" href="OclEnumeration.html" title="OclEnumeration">
<link rel="next" href="OclLambda.html" title="OclLambda">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -91,7 +91,7 @@
</p>
<p>
-<code class="code">oclAsSet() : Set(OclSelf[*|1])</code>
+<code class="code">oclAsSet() : Set(OclSelf)[*|1]</code>
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/OclState.html b/doc/org.eclipse.ocl.doc/help/OclState.html
index 6a7cb4f2b5..11dbfcde70 100644
--- a/doc/org.eclipse.ocl.doc/help/OclState.html
+++ b/doc/org.eclipse.ocl.doc/help/OclState.html
@@ -7,7 +7,7 @@
<link rel="home" href="index.html" title="OCL Documentation">
<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
<link rel="prev" href="OclSelf.html" title="OclSelf">
-<link rel="next" href="OclSummable.html" title="OclSummable">
+<link rel="next" href="OclStereotype.html" title="OclStereotype">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
diff --git a/doc/org.eclipse.ocl.doc/help/OclStereotype.html b/doc/org.eclipse.ocl.doc/help/OclStereotype.html
new file mode 100644
index 0000000000..8c65b418ea
--- /dev/null
+++ b/doc/org.eclipse.ocl.doc/help/OclStereotype.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OclStereotype</title>
+<link href="book.css" rel="stylesheet" type="text/css">
+<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
+<link rel="home" href="index.html" title="OCL Documentation">
+<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
+<link rel="prev" href="OclState.html" title="OclState">
+<link rel="next" href="OclSummable.html" title="OclSummable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+
+ OclStereotype
+
+ </h1>
+<div class="section" title="OclStereotype">
+<div class="titlepage">
+<div>
+<div>
+<h2 class="title" style="clear: both">
+<a name="OclStereotype"></a>
+ <span class="bold"><strong>
+ <code class="code">OclStereotype</code>
+ </strong></span>
+
+</h2>
+</div>
+</div>
+</div>
+<p>The type OclStereotype is the implicit supertype of any UML stereotype. Operations defined
+ for OclStereotype are therefore applicable to all UML stereotypes.</p>
+<p>conformsTo
+ <a class="link" href="OclType.html" title="OclType">
+ <code class="code">OclType</code>
+ </a>
+
+</p>
+<p>
+
+<span class="bold"><strong>Operations</strong></span>
+
+</p>
+<p>
+
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
+
+</p>
+<p>Return a set of all instances of the stereotype and derived types of self.</p>
+</div>
+</body>
+</html>
diff --git a/doc/org.eclipse.ocl.doc/help/OclSummable.html b/doc/org.eclipse.ocl.doc/help/OclSummable.html
index f5cf79193e..ace4df6065 100644
--- a/doc/org.eclipse.ocl.doc/help/OclSummable.html
+++ b/doc/org.eclipse.ocl.doc/help/OclSummable.html
@@ -6,7 +6,7 @@
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
<link rel="home" href="index.html" title="OCL Documentation">
<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
-<link rel="prev" href="OclState.html" title="OclState">
+<link rel="prev" href="OclStereotype.html" title="OclStereotype">
<link rel="next" href="OclTuple.html" title="OclTuple">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
diff --git a/doc/org.eclipse.ocl.doc/help/OrderedSet.html b/doc/org.eclipse.ocl.doc/help/OrderedSet.html
index bc0af07d80..37d691fc02 100644
--- a/doc/org.eclipse.ocl.doc/help/OrderedSet.html
+++ b/doc/org.eclipse.ocl.doc/help/OrderedSet.html
@@ -173,12 +173,12 @@
<p>The ordered set of elements with same elements but with the opposite order.</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : OrderedSet(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : OrderedSet(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : OrderedSet(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : OrderedSet(TT)[*|1]</code>
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/OverviewandGettingStarted.html b/doc/org.eclipse.ocl.doc/help/OverviewandGettingStarted.html
index 7e69f3fee3..ae5940aaa1 100644
--- a/doc/org.eclipse.ocl.doc/help/OverviewandGettingStarted.html
+++ b/doc/org.eclipse.ocl.doc/help/OverviewandGettingStarted.html
@@ -46,7 +46,7 @@
<a class="link" href="GettingStarted.html" title="Getting Started">Getting Started</a>.
</p>
<p>A PDF version of this documentation is available at
- <a class="ulink" href="http://download.eclipse.org/ocl/doc/6.0.0/ocl.pdf" target="_new">OCL 6.0.0 Documentation</a>.
+ <a class="ulink" href="http://download.eclipse.org/ocl/doc/6.1.0/ocl.pdf" target="_new">OCL 6.1.0 Documentation</a>.
</p>
<div class="section" title="What is OCL?">
<div class="titlepage">
diff --git a/doc/org.eclipse.ocl.doc/help/ParsingDocuments.html b/doc/org.eclipse.ocl.doc/help/ParsingDocuments.html
index 65aa593ca7..b8052c080c 100644
--- a/doc/org.eclipse.ocl.doc/help/ParsingDocuments.html
+++ b/doc/org.eclipse.ocl.doc/help/ParsingDocuments.html
@@ -22,7 +22,7 @@
</div>
<p>As we saw in the
<a class="link" href="ProgrammersGuide.html#ParsingConstraints" title="Parsing Constraints and Queries">Parsing Constraints and Queries</a> topic, the OCL parser provides an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> API for parsing constraints embedded in models. OCL also permits constraints
to be specified in a text document, as an adjunct to the model. In this case,
@@ -61,7 +61,7 @@
</div>
</div>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCLInput.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCLInput.html" target="_new">
<code class="code">OCLInput</code>
</a> class encapsulates an OCL document. An input can be created from a string or an
input stream.
diff --git a/doc/org.eclipse.ocl.doc/help/Persistence.html b/doc/org.eclipse.ocl.doc/help/Persistence.html
index bb7c33980d..669f80f390 100644
--- a/doc/org.eclipse.ocl.doc/help/Persistence.html
+++ b/doc/org.eclipse.ocl.doc/help/Persistence.html
@@ -57,7 +57,7 @@
via
<code class="code">def:</code> expressions. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/TypeResolver.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/TypeResolver.html" target="_new">
<code class="code">TypeResolver</code>
</a> API is responsible for the demand-creation of these types and for their persistence.
</p>
@@ -70,7 +70,7 @@
</p>
<p>Every
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> has a
<code class="code">TypeResolver</code> that persists demand-created types and additional features. For a client that doesn&rsquo;t require persistence, the
@@ -81,13 +81,13 @@
<p>A client that does require persistence of OCL expressions and these demand-created elements
should provide a specific resource in which to store them, either via the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class&rsquo;s
<code class="code">newInstance(EnvironmentFactory, Resource)</code> factory method or via
the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a> interface&rsquo;s
<code class="code">load(Resource)</code> method.
@@ -115,7 +115,7 @@ ocl&nbsp;=&nbsp;OCL.newInstance(EcoreEnvironmentFactory.INSTANCE,&nbsp;myResourc
</div>
<p></p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/AbstractTypeResolver.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/AbstractTypeResolver.html" target="_new">
<code class="code">AbstractTypeResolver</code>
</a> class creates packages in which to store the different elements that it creates: collection types, message types, tuple types, and additional operations and attributes. These last are owned by classes that &ldquo;shadow&rdquo; the classifiers in which context they are defined, in
the manner by which the OCL specification&rsquo;s adaptation for EMOF indicates that operations
diff --git a/doc/org.eclipse.ocl.doc/help/PivotEvaluatingConstraints.html b/doc/org.eclipse.ocl.doc/help/PivotEvaluatingConstraints.html
index 0692e98ca8..a158935ec0 100644
--- a/doc/org.eclipse.ocl.doc/help/PivotEvaluatingConstraints.html
+++ b/doc/org.eclipse.ocl.doc/help/PivotEvaluatingConstraints.html
@@ -28,7 +28,7 @@
<code class="code">ExpressionInOCL</code> compiled representation. Parsing constraints is interesting,
but evaluating them using the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
<code class="code">Query</code>
</a>
API is much more useful.
@@ -44,7 +44,7 @@
</div>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
<code class="code">Query</code>
</a>
class wraps the minimal
@@ -61,7 +61,7 @@
<p>The
<code class="code">Query</code> encapsulates an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/evaluation/EvaluationEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/evaluation/EvaluationEnvironment.html" target="_new">
<code class="code">EvaluationEnvironment</code>
</a>
providing the run-time values of context variables to the OCL interpreter. These
@@ -114,12 +114,12 @@
<code class="code">Class</code> extents, the
<code class="code">OCL</code> handle references a
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/evaluation/ModelManager.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/evaluation/ModelManager.html" target="_new">
<code class="code">ModelManager</code>
</a>
that provides access to the user&rsquo;s models. The default
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/internal/evaluation/PivotModelManager.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/internal/evaluation/PivotModelManager.html" target="_new">
<code class="code">PivotModelManager</code>
</a>
lazily computes the extent of a class from the EMF
@@ -171,7 +171,7 @@
</li>
</ul>
</div>
-<table id="N151FE">
+<table id="N15335">
<tr>
<th>OCL</th>
diff --git a/doc/org.eclipse.ocl.doc/help/PivotMetamodels.html b/doc/org.eclipse.ocl.doc/help/PivotMetamodels.html
index 946f78fbeb..4a720e9245 100644
--- a/doc/org.eclipse.ocl.doc/help/PivotMetamodels.html
+++ b/doc/org.eclipse.ocl.doc/help/PivotMetamodels.html
@@ -28,13 +28,13 @@
</p>
<p>
The OCL API implements support for different target metamodels via the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a> interface. An implementation of this interface binds the metamodel&rsquo;s metaclasses to the generic type parameters of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class. The metamodel-specific
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/pivot/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/pivot/Environment.html" target="_new">
<code class="code">Environment</code>
</a> implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
</p>
@@ -101,7 +101,7 @@
</p>
<p>The Pivot binding is provided by the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/internal/utilities/PivotEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/internal/utilities/PivotEnvironmentFactory.html" target="_new">
<code class="code">PivotEnvironmentFactory</code>
</a> class. For compatibility, as a default, the Pivot environment uses the static
<code class="code">EPackage</code> registry to look up package names. This default is deprecated since the domain of
diff --git a/doc/org.eclipse.ocl.doc/help/PivotParsingConstraints.html b/doc/org.eclipse.ocl.doc/help/PivotParsingConstraints.html
index 40aafc0be5..7700e999cd 100644
--- a/doc/org.eclipse.ocl.doc/help/PivotParsingConstraints.html
+++ b/doc/org.eclipse.ocl.doc/help/PivotParsingConstraints.html
@@ -24,7 +24,7 @@
<a class="link" href="ProgrammersGuide.html#ParsingConstraints" title="Parsing Constraints and Queries">Parsing Constraints and Queries</a> for the Ecore binding to see examples of the changes needed to migrate from the Ecore binding to the Pivot binding.
</p>
<p>The OCL parser provides two APIs for parsing constraint and query expressions using the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a> Facade.
</p>
@@ -38,7 +38,7 @@
</div>
</div>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class provides both a Facade and a Handle for the various objects that support different aspects of OCL parsing and evaluation.
</p>
@@ -200,7 +200,7 @@
</p>
<p>The result of parsing a query expression or a constraint is an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/ExpressionInOCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/ExpressionInOCL.html" target="_new">
<code class="code">ExpressionInOCL</code>
</a>,
an instance of the
diff --git a/doc/org.eclipse.ocl.doc/help/PivotParsingDocuments.html b/doc/org.eclipse.ocl.doc/help/PivotParsingDocuments.html
index f20da9950f..3e4718e01f 100644
--- a/doc/org.eclipse.ocl.doc/help/PivotParsingDocuments.html
+++ b/doc/org.eclipse.ocl.doc/help/PivotParsingDocuments.html
@@ -22,7 +22,7 @@
</div>
<p>As we saw in the
<a class="link" href="PivotParsingConstraints.html" title="Parsing Constraints and Queries">Parsing Constraints and Queries</a> topic, the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a>
Facade provides an API for parsing OCL expressions embedded in models as constraints.
diff --git a/doc/org.eclipse.ocl.doc/help/PivotProgrammersGuide.html b/doc/org.eclipse.ocl.doc/help/PivotProgrammersGuide.html
index 47daed7709..5ef0b2ff4e 100644
--- a/doc/org.eclipse.ocl.doc/help/PivotProgrammersGuide.html
+++ b/doc/org.eclipse.ocl.doc/help/PivotProgrammersGuide.html
@@ -53,7 +53,7 @@
</div>
<p>The Unified or Pivot Programmers Guide describes the ways in which the Pivot binding Eclipse OCL can be used from Java programs.</p>
<p>The Pivot binding was first available as an examples quality prototype in 3.1.0 (Indigo). The Pivot binding
- will become the preferred binding in 6.0.0 (Mars). The older Ecore and UML bindings are described in a separate
+ became the preferred binding in 6.0.0 (Mars). The older Ecore and UML bindings are described in a separate
<a class="link" href="ProgrammersGuide.html" title="Classic Ecore/UML Programmers Guide">Ecore/UML Programmers Guide</a>.
</p>
<p>The OCL Parser/Interpreter provides an implementation of the
diff --git a/doc/org.eclipse.ocl.doc/help/ProgrammersGuide.html b/doc/org.eclipse.ocl.doc/help/ProgrammersGuide.html
index ed67424261..b854d5a831 100644
--- a/doc/org.eclipse.ocl.doc/help/ProgrammersGuide.html
+++ b/doc/org.eclipse.ocl.doc/help/ProgrammersGuide.html
@@ -62,7 +62,7 @@
</div>
<p>The Ecore/UML Programmers Guide describes the ways in which the Ecore or UML bindings of Eclipse OCL can be used from Java programs.</p>
<p>The Ecore binding has been available since Eclipse OCL 1.0.0 (Callisto). The UML binding was added in 1.1.0 (Europa). Both will remain for as long as necessary. Examples quality prototypes of the new UML-aligned Pivot binding were first available in 3.1.0 (Indigo). The Pivot binding
- will become the preferred binding in 6.0.0 (Mars). The Pivot binding is described in a separate
+ became the preferred binding in 6.0.0 (Mars). The Pivot binding is described in a separate
<a class="link" href="PivotProgrammersGuide.html" title="Unified or Pivot Programmers Guide">Pivot Programmers Guide</a>.
</p>
<p>The OCL Parser/Interpreter provides an implementation of the
@@ -208,11 +208,11 @@
</div>
</div>
<p>The OCL parser provides two APIs for parsing constraint and query expressions. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> interface is designed primarily for parsing constraints and query expressions
embedded in models, such as Ecore or UML models. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class serves as the main entrypoint into the parsing API but also implements the
parsing of
@@ -243,7 +243,7 @@
</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class is a generic type; its type parameters represent the various metaclasses
of the metamodels that OCL works with in the UML/MOF family of OMG specifications.
@@ -260,11 +260,11 @@
<code class="code">OCL</code> class defines instances of autonomous OCL
parsing and evaluation environments. It has a single root
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> created by an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a>
implementation for a particular EMF-based metamodel. The OCL environment
@@ -297,7 +297,7 @@
<p>An
<code class="code">Environment</code> may contain named
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/expressions/Variable.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/expressions/Variable.html" target="_new">
<code class="code">Variable</code>
</a> s
to which OCL expressions can refer. The most common of these is
@@ -358,16 +358,16 @@
<p>From an OCL instance, we can create a helper object with which to parse constraints
and additional operation/attribute definitions. This
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a>
stores all of the instantiations of OCL template metaclasses (such as
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/types/CollectionType.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/types/CollectionType.html" target="_new">
<code class="code">CollectionType(T)</code>
</a>
and
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/types/TupleType.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/types/TupleType.html" target="_new">
<code class="code">TupleType</code>
</a>
and additional operation/attribute definitions in the root environment of the
@@ -466,7 +466,7 @@
</p>
<p>The result of parsing a query expression is an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/expressions/OCLExpression.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/expressions/OCLExpression.html" target="_new">
<code class="code">OCLExpression</code>
</a>,
an instance of the
diff --git a/doc/org.eclipse.ocl.doc/help/Sequence.html b/doc/org.eclipse.ocl.doc/help/Sequence.html
index 55c1950a36..995db6dde8 100644
--- a/doc/org.eclipse.ocl.doc/help/Sequence.html
+++ b/doc/org.eclipse.ocl.doc/help/Sequence.html
@@ -146,12 +146,12 @@
<p>The sequence containing the same elements but with the opposite order.</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Sequence(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Sequence(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Sequence(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Sequence(TT)[*|1]</code>
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/Set.html b/doc/org.eclipse.ocl.doc/help/Set.html
index dbc7e15b63..9a9387152b 100644
--- a/doc/org.eclipse.ocl.doc/help/Set.html
+++ b/doc/org.eclipse.ocl.doc/help/Set.html
@@ -112,12 +112,12 @@
</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Set(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Set(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Set(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Set(TT)[*|1]</code>
</p>
<p>
diff --git a/doc/org.eclipse.ocl.doc/help/StandardLibrary.html b/doc/org.eclipse.ocl.doc/help/StandardLibrary.html
index 68b5e2b8bc..8a072b828a 100644
--- a/doc/org.eclipse.ocl.doc/help/StandardLibrary.html
+++ b/doc/org.eclipse.ocl.doc/help/StandardLibrary.html
@@ -105,6 +105,13 @@
</a></span>
</dt>
<dt>
+<span class="section"><a href="OclEnumeration.html">
+ <span class="bold"><strong>
+ <code class="code">OclEnumeration</code>
+ </strong></span>
+ </a></span>
+</dt>
+<dt>
<span class="section"><a href="OclInvalid.html">
<span class="bold"><strong>
<code class="code">OclInvalid</code>
@@ -140,6 +147,13 @@
</a></span>
</dt>
<dt>
+<span class="section"><a href="OclStereotype.html">
+ <span class="bold"><strong>
+ <code class="code">OclStereotype</code>
+ </strong></span>
+ </a></span>
+</dt>
+<dt>
<span class="section"><a href="OclSummable.html">
<span class="bold"><strong>
<code class="code">OclSummable</code>
diff --git a/doc/org.eclipse.ocl.doc/help/TargetMetamodels.html b/doc/org.eclipse.ocl.doc/help/TargetMetamodels.html
index 1bb3e7cca3..7ade33291b 100644
--- a/doc/org.eclipse.ocl.doc/help/TargetMetamodels.html
+++ b/doc/org.eclipse.ocl.doc/help/TargetMetamodels.html
@@ -36,13 +36,13 @@
</div>
<p>
The OCL API implements support for different target metamodels via the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a> interface. An implementation of this interface binds the metamodel&rsquo;s metaclasses to the generic type parameters of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class. The metamodel-specific
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
</p>
@@ -60,7 +60,7 @@
</p>
<p>As is illustrated by most of the examples in this documentation, the Ecore binding is provided by the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
<code class="code">EcoreEnvironmentFactory</code>
</a> class. By default, the Ecore environment uses the static
<code class="code">EPackage</code> registry to look up package names. It can also be supplied with an alternative package registry (for example, one local to a
@@ -68,7 +68,7 @@
<code class="code">EcoreEnvironmentFactory.INSTANCE</code> is most practical.
</p>
<p>The Ecore binding for OCL provides the following capabilities, reflecting the subset of Ecore&rsquo;s modeling constructs with respect to UML:</p>
-<table id="N14227">
+<table id="N1435E">
<tr>
<th>Capability</th>
@@ -276,7 +276,7 @@
<code class="code">InstanceSpecification</code> elements in the UML model.
</p>
<p>The UML binding is provided by the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/uml/UMLEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/uml/UMLEnvironmentFactory.html" target="_new">
<code class="code">UMLEnvironmentFactory</code>
</a> class. By default, the UML environment factory and all of the environment contexts that it creates use a private
<code class="code">ResourceSet</code> to look up the corresponding UML model(s) against which OCL constraints are parsed.
@@ -293,7 +293,7 @@
<code class="code">EPackage</code> names corresponding to UML models. A custom package registry may be provided by the client if necessary.
</p>
<p>The UML binding for OCL provides the following capabilities:</p>
-<table id="N143DC">
+<table id="N14513">
<tr>
<th>Capability</th>
diff --git a/doc/org.eclipse.ocl.doc/help/Tutorials.html b/doc/org.eclipse.ocl.doc/help/Tutorials.html
index a247bceb8f..4ade814ed9 100644
--- a/doc/org.eclipse.ocl.doc/help/Tutorials.html
+++ b/doc/org.eclipse.ocl.doc/help/Tutorials.html
@@ -1037,7 +1037,7 @@
</div>
<p>We have shown how OCL may be used to enrich Ecore meta-models, how model instances can be created
and validated and how expressions can be evaluated, all without generating any Java code.</p>
-<p>Exactly the same facilities are available if you do generate Java code and as a result you gain some speed benefits. By default, in the Eclipse OCL 6.0.0 (Mars) release the generated Java code for OCL is interpreted and so the speed gains occur only for the EMF models.
+<p>Exactly the same facilities are available if you do generate Java code and as a result you gain some speed benefits. By default, in the Eclipse OCL 6.1.0 (Neon) release the generated Java code for OCL is interpreted and so the speed gains occur only for the EMF models.
In the
<a class="link" href="CodeGenerationTutorial.html" title="Code Generation tutorial">Code Generation Tutorial</a>, a preliminary release of
the OCL to Java code generator is described, giving an approximately five-fold speed improvement
diff --git a/doc/org.eclipse.ocl.doc/html/ocl.html b/doc/org.eclipse.ocl.doc/html/ocl.html
index f71d7ac953..d3d05a6db0 100644
--- a/doc/org.eclipse.ocl.doc/html/ocl.html
+++ b/doc/org.eclipse.ocl.doc/html/ocl.html
@@ -177,6 +177,13 @@
</a></span>
</dt>
<dt>
+<span class="section"><a href="#OclEnumeration">
+ <span class="bold"><strong>
+ <code class="code">OclEnumeration</code>
+ </strong></span>
+ </a></span>
+</dt>
+<dt>
<span class="section"><a href="#OclInvalid">
<span class="bold"><strong>
<code class="code">OclInvalid</code>
@@ -212,6 +219,13 @@
</a></span>
</dt>
<dt>
+<span class="section"><a href="#OclStereotype">
+ <span class="bold"><strong>
+ <code class="code">OclStereotype</code>
+ </strong></span>
+ </a></span>
+</dt>
+<dt>
<span class="section"><a href="#OclSummable">
<span class="bold"><strong>
<code class="code">OclSummable</code>
@@ -482,7 +496,7 @@
<a class="link" href="#GettingStarted" title="Getting Started">Getting Started</a>.
</p>
<p>A PDF version of this documentation is available at
- <a class="ulink" href="http://download.eclipse.org/ocl/doc/6.0.0/ocl.pdf" target="_new">OCL 6.0.0 Documentation</a>.
+ <a class="ulink" href="http://download.eclipse.org/ocl/doc/6.1.0/ocl.pdf" target="_new">OCL 6.1.0 Documentation</a>.
</p>
<div class="section" title="What is OCL?">
<div class="titlepage">
@@ -7805,12 +7819,12 @@ in&nbsp;test.substring(start,finish)<br>
</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Bag(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Bag(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Bag(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Bag(TT)[*|1]</code>
</p>
<p>
@@ -7935,7 +7949,7 @@ endif)<br>
</p>
<p>
-<code class="code">allInstances() : Set(OclSelf[*|1])</code>
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
</p>
<p>Returns
@@ -8400,21 +8414,21 @@ endif)<br>
</p>
<p>
-<code class="code">intersection(u : UniqueCollection(T)) : Set(T)</code>
+<code class="code">intersection(c : Collection(T)) : Bag(T)</code>
</p>
<p>The intersection of
- <code class="code">self</code> and a unique collection; the set of all elements that are in both
- <code class="code">self</code> and u.
+ <code class="code">self</code> and bag; the bag of all elements that are in both
+ <code class="code">self</code> and c.
</p>
<p>
-<code class="code">intersection(c : Collection(T)) : Bag(T)</code>
+<code class="code">intersection(u : UniqueCollection(T)) : Set(T)</code>
</p>
<p>The intersection of
- <code class="code">self</code> and bag; the bag of all elements that are in both
- <code class="code">self</code> and c.
+ <code class="code">self</code> and a unique collection; the set of all elements that are in both
+ <code class="code">self</code> and u.
</p>
<p>
@@ -8469,7 +8483,7 @@ endif)<br>
</p>
<p>
-<code class="code">product(T2)(c2 : Collection(T2)) : Set(Tuple(first:T[1], second:T2[1])[*|1])</code>
+<code class="code">product(T2)(c2 : Collection(T2)) : Set(Tuple(first:T[1], second:T2[1]))[*|1]</code>
</p>
<p>The cartesian product operation of
@@ -8477,12 +8491,12 @@ endif)<br>
</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Collection(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Collection(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Collection(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Collection(TT)[*|1]</code>
</p>
<p>
@@ -8656,7 +8670,8 @@ endif)<br>
</div>
</div>
</div>
-<p>The Enumeration type is the type of an OrderedSet of EnumerationLiteral.</p>
+<p>@Deprecated: Use OclEnumeration
+ The Enumeration type is the type of an OrderedSet of EnumerationLiteral.</p>
<p>conformsTo
<a class="link" href="#OclAny" title="OclAny">
<code class="code">OclAny</code>
@@ -8681,7 +8696,7 @@ endif)<br>
</p>
<p>
-<code class="code">allInstances() : Set(OclSelf[*|1])</code>
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
</p>
<p>Return a set of all enumeration values of
@@ -8719,6 +8734,11 @@ endif)<br>
<code class="code">Enumeration : Bag(Enumeration)</code>
</p>
+<p>
+
+<code class="code">OclEnumeration : Bag(OclEnumeration)</code>
+
+</p>
</div>
<div class="section" title="Integer">
<div class="titlepage">
@@ -9209,7 +9229,7 @@ endif)<br>
<p></p>
<p>
-<code class="code">oclAsSet() : Set(OclSelf[*|1])</code>
+<code class="code">oclAsSet() : Set(OclSelf)[*|1]</code>
</p>
<p>Returns a Set with
@@ -9224,13 +9244,22 @@ endif)<br>
</p>
<p>Evaluates to
<code class="code">self</code>, where
- <code class="code">self</code> is of the type identified by T.
- The type T may be any classifier defined in the UML model;
+ <code class="code">self</code> is of the type identified by
+ <code class="code">TT</code>.
+ The type
+ <code class="code">TT</code> may be any classifier defined by OCL or a user metamodel;
if the actual type of
- <code class="code">self</code> at evaluation time does not conform to T,
+ <code class="code">self</code> at evaluation time does not conform to
+ <code class="code">TT</code>,
then the oclAsType operation evaluates to
<code class="code">invalid</code>.
</p>
+<p>If
+ <code class="code">self</code> is a multiply classified instance, the current classification used for OCL navigation
+ is changed to the classification to which
+ <code class="code">TT</code> conforms. The oclAsType call is not well-formed if
+ the classification is ambiguous.
+ </p>
<p>In the case of feature redefinition, casting an object to a supertype of its actual type
does not access the supertype&rsquo;s definition of the feature;
according to the semantics of redefinition, the redefined feature simply does not exist for the object.
@@ -9268,9 +9297,12 @@ endif)<br>
</p>
<p>Evaluates to
<code class="code">true</code> if the type of
- <code class="code">self</code> conforms to t.
+ <code class="code">self</code> conforms to
+ <code class="code">type</code>.
That is,
- <code class="code">self</code> is of type t or a subtype of t.
+ <code class="code">self</code> is of type
+ <code class="code">type</code> or a subtype of
+ <code class="code">type</code>.
</p>
<p>
@@ -9289,7 +9321,9 @@ endif)<br>
</p>
<p>Evaluates to
<code class="code">true</code> if
- <code class="code">self</code> is of the type t but not a subtype of t
+ <code class="code">self</code> is of the type
+ <code class="code">type</code> but not a subtype of
+ <code class="code">type</code>.
</p>
<p>
@@ -9319,8 +9353,24 @@ endif)<br>
<code class="code">oclType() : OclSelf[1]</code>
</p>
-<p>Evaluates to the type of which
- <code class="code">self</code> is an instance.
+<p>Evaluates to the most derived type of which
+ <code class="code">self</code> is currently an instance. If
+ <code class="code">self</code> is an instance of a multiply
+ classified type, the return is the most derived type of the current classification which is established when the instance is
+ passed to OCL, or re-established by an
+ <code class="code">oclAsType()</code> call.
+ </p>
+<p>
+
+<code class="code">oclTypes() : Set(OclSelf)</code>
+
+</p>
+<p>Evaluates to all of the most derived type of which
+ <code class="code">self</code> is an instance. The return from
+ <code class="code">oclTypes()</code>
+ is normally equivalent to that from
+ <code class="code">oclType()</code> unless
+ <code class="code">self</code> is an instance of multiply classified type.
</p>
<p>
@@ -9434,27 +9484,192 @@ endif)<br>
</p>
<p>
+<span class="bold"><strong>Attributes</strong></span>
+
+</p>
+<p>
+
+<code class="code">OclElement : Bag(OclElement)</code>
+
+</p>
+<p>
+
+<code class="code">OclElement : Bag(OclElement)</code>
+
+</p>
+<p>
+
+<code class="code">oclContents : Set(OclElement)[*|1]</code>
+
+</p>
+<p>The composed contents of self.</p>
+<p>
+
+<span class="bold"><strong>Associations</strong></span>
+
+</p>
+<p>
+
+<code class="code">oclContainer : OclElement[?]</code>
+
+</p>
+<p>The object for which self is a composed content or null if there is no such object.</p>
+<p>
+
<span class="bold"><strong>Operations</strong></span>
</p>
<p>
-<code class="code">allInstances() : Set(OclSelf[*|1])</code>
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
</p>
<p>Return a set of all instances of the type and derived types of self.</p>
<p>
+<code class="code">oclAsModelType(TT)(type : TT[?]) : TT[1] invalidating</code>
+
+</p>
+<p>Evaluates to
+ <code class="code">self</code>, where
+ <code class="code">self</code> is of the model type identified by
+ <code class="code">TT</code>.
+ </p>
+<p>Most model elements have metamodel types for use with oclAsType, but no model type and so the return is
+ <code class="code">invalid</code>.
+ </p>
+<p>Model elements such as UML&rsquo;s InstnaceSpecification that do support distinct model and metamodel types return
+ <code class="code">self</code>
+ with the cast type
+ <code class="code">TT</code> that may be used for further navigation.
+ If the actual model type of
+ <code class="code">self</code> at evaluation time does not conform to
+ <code class="code">TT</code>,
+ then the oclAsType operation evaluates to
+ <code class="code">invalid</code>.
+ </p>
+<p>If
+ <code class="code">self</code> is a multiply classified instance, the current classification used for OCL navigation
+ is changed to the classification to which
+ <code class="code">TT</code> conforms. The oclAsModelType call is not well-formed if
+ the classification is ambiguous.
+ </p>
+<div class="literallayout">
+<p>
+<code class="code">post&nbsp;IsSelf:&nbsp;result&nbsp;=&nbsp;self<br>
+
+</code>
+</p>
+</div>
+<p></p>
+<p>
+
<code class="code">oclContainer() : OclElement[?]</code>
</p>
<p>Returns the object for which self is a composed content or null if there is no such object.</p>
<p>
-<code class="code">oclContents() : Set(OclElement[*|1])</code>
+<code class="code">oclContents() : Set(OclElement)[*|1]</code>
</p>
<p>Returns the composed contents of self.</p>
+<p>
+
+<code class="code">oclIsModelKindOf(type : OclType[?]) : Boolean[1]</code>
+
+</p>
+<p>Evaluates to
+ <code class="code">true</code> if the type of
+ <code class="code">self</code> conforms to the model type
+ <code class="code">type</code>.
+ That is,
+ <code class="code">self</code> is of type
+ <code class="code">type</code> or a subtype of
+ <code class="code">type</code>.
+ </p>
+<p>The return is normally
+ <code class="code">false</code> since few model elements have model types. UML&rsquo;s InstanceSpecification::classifier provides
+ a multiple classification for a model type.
+ </p>
+<p>
+
+<code class="code">oclModelType() : OclSelf[1]</code>
+
+</p>
+<p>Evaluates to the most derived model type of which
+ <code class="code">self</code> is currently an instance. If
+ <code class="code">self</code> is an instance of a multiply
+ classified model type, the return is the most derived type of the current classification which is established
+ by an
+ <code class="code">oclAsModelType()</code> call.
+ </p>
+<p>The return is normally
+ <code class="code">invalid</code> since few model elements have model types. UML&rsquo;s InstanceSpecification::classifier provides
+ a multiple classification for a model type.
+ </p>
+<p>
+
+<code class="code">oclModelTypes() : Set(OclSelf)</code>
+
+</p>
+<p>Evaluates to all of the most derived model types of which
+ <code class="code">self</code> is an instance. The return from
+ <code class="code">oclModelTypes()</code>
+ is normally equivalent to that from
+ <code class="code">oclModelType()</code> unless
+ <code class="code">self</code> is an instance of multiply classified model type.
+ </p>
+<p>The return is normally
+ <code class="code">invalid</code> since few model elements have model types. UML&rsquo;s InstanceSpecification::classifier provides
+ a multiple classification for a model type.
+ </p>
+</div>
+<div class="section" title="OclEnumeration">
+<div class="titlepage">
+<div>
+<div>
+<h2 class="title" style="clear: both">
+<a name="OclEnumeration"></a>
+ <span class="bold"><strong>
+ <code class="code">OclEnumeration</code>
+ </strong></span>
+
+</h2>
+</div>
+</div>
+</div>
+<p>The OclEnumeration type is the implicit supertype of any user Enumeration type.</p>
+<p>conformsTo
+ <a class="link" href="#OclType" title="OclType">
+ <code class="code">OclType</code>
+ </a>
+
+</p>
+<p>
+
+<span class="bold"><strong>Attributes</strong></span>
+
+</p>
+<p>
+
+<code class="code">allLiterals : OrderedSet(EnumerationLiteral)</code>
+
+</p>
+<p>Evaluates to the literals of the enumeration.</p>
+<p>
+
+<span class="bold"><strong>Operations</strong></span>
+
+</p>
+<p>
+
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
+
+</p>
+<p>Return a set of all enumeration values of
+ <code class="code">self</code>.
+ </p>
</div>
<div class="section" title="OclInvalid">
<div class="titlepage">
@@ -9532,7 +9747,7 @@ endif)<br>
</p>
<p>
-<code class="code">oclAsSet() : Set(OclSelf[*|1])</code>
+<code class="code">oclAsSet() : Set(OclSelf)[*|1]</code>
</p>
<p>
@@ -9719,6 +9934,40 @@ endif)<br>
</p>
</div>
+<div class="section" title="OclStereotype">
+<div class="titlepage">
+<div>
+<div>
+<h2 class="title" style="clear: both">
+<a name="OclStereotype"></a>
+ <span class="bold"><strong>
+ <code class="code">OclStereotype</code>
+ </strong></span>
+
+</h2>
+</div>
+</div>
+</div>
+<p>The type OclStereotype is the implicit supertype of any UML stereotype. Operations defined
+ for OclStereotype are therefore applicable to all UML stereotypes.</p>
+<p>conformsTo
+ <a class="link" href="#OclType" title="OclType">
+ <code class="code">OclType</code>
+ </a>
+
+</p>
+<p>
+
+<span class="bold"><strong>Operations</strong></span>
+
+</p>
+<p>
+
+<code class="code">allInstances() : Set(OclSelf)[*|1]</code>
+
+</p>
+<p>Return a set of all instances of the stereotype and derived types of self.</p>
+</div>
<div class="section" title="OclSummable">
<div class="titlepage">
<div>
@@ -10161,12 +10410,12 @@ endif)<br>
<p>The ordered set of elements with same elements but with the opposite order.</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : OrderedSet(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : OrderedSet(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : OrderedSet(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : OrderedSet(TT)[*|1]</code>
</p>
<p>
@@ -10513,12 +10762,12 @@ endif)<br>
<p>The sequence containing the same elements but with the opposite order.</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Sequence(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Sequence(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Sequence(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Sequence(TT)[*|1]</code>
</p>
<p>
@@ -10674,12 +10923,12 @@ endif)<br>
</p>
<p>
-<code class="code">selectByKind(TT)(type : TT[?]) : Set(TT[*|1])</code>
+<code class="code">selectByKind(TT)(type : TT[?]) : Set(TT)[*|1]</code>
</p>
<p>
-<code class="code">selectByType(TT)(type : TT[?]) : Set(TT[*|1])</code>
+<code class="code">selectByType(TT)(type : TT[?]) : Set(TT)[*|1]</code>
</p>
<p>
@@ -12264,7 +12513,7 @@ endif)<br>
</div>
<p>We have shown how OCL may be used to enrich Ecore meta-models, how model instances can be created
and validated and how expressions can be evaluated, all without generating any Java code.</p>
-<p>Exactly the same facilities are available if you do generate Java code and as a result you gain some speed benefits. By default, in the Eclipse OCL 6.0.0 (Mars) release the generated Java code for OCL is interpreted and so the speed gains occur only for the EMF models.
+<p>Exactly the same facilities are available if you do generate Java code and as a result you gain some speed benefits. By default, in the Eclipse OCL 6.1.0 (Neon) release the generated Java code for OCL is interpreted and so the speed gains occur only for the EMF models.
In the
<a class="link" href="#CodeGenerationTutorial" title="Code Generation tutorial">Code Generation Tutorial</a>, a preliminary release of
the OCL to Java code generator is described, giving an approximately five-fold speed improvement
@@ -14992,13 +15241,13 @@ inv&nbsp;UpperName&nbsp;:&nbsp;name&nbsp;=&nbsp;name.toUpperCase()<br>
parsed, it is well-formed (the parser automatically validates the expression
against the semantic well-formedness rules).</p>
<p>The main entrypoint into the OCL API is the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">OCL</a> class. An
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">OCL</a> class. An
<code class="code">OCL</code> provides an autonomous OCL parsing environment. It tracks all constraints that are parsed in this environment, including the definitions of additional operations and attributes. The
<code class="code">OCL.newInstance()</code> factory method is used to create a new OCL with an
<code class="code">EnvironmentFactory</code> that provides the binding to a particular metamodel (Ecore or UML). In this tutorial, we will use the Ecore binding.
</p>
<p>To parse a query expression, we will use the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> object, which provides convenient operations for parsing queries and constraints
(intended for processing constraints embedded in models).
@@ -15119,7 +15368,7 @@ try&nbsp;{<br>
</div>
<p>More interesting than parsing an OCL expression or constraint is evaluating it
on some object. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html" target="_new">
<code class="code">Query</code>
</a>
interface provides two methods for evaluating expressions. Queries are
@@ -15131,7 +15380,7 @@ try&nbsp;{<br>
<li class="listitem">
<p>
-<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html#evaluate(org.eclipse.emf.ecore.EObject)" target="_new">
+<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html#evaluate(org.eclipse.emf.ecore.EObject)" target="_new">
<code class="code">Object evaluate(Object)</code>
</a>
@@ -15152,7 +15401,7 @@ try&nbsp;{<br>
<li class="listitem">
<p>
-<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html#check(org.eclipse.emf.ecore.EObject)" target="_new">
+<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html#check(org.eclipse.emf.ecore.EObject)" target="_new">
<code class="code">boolean evaluate(Object)</code>
</a>
@@ -15175,7 +15424,7 @@ try&nbsp;{<br>
</p>
<p>
-<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
+<a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
<code class="code">setExtentMap(Map&lt;CLS, ? extends Set&lt;? extends E&gt;&gt; extentMap)</code>
</a>
method. This assigns a mapping of classes (in the Ecore binding,
@@ -15187,7 +15436,7 @@ try&nbsp;{<br>
<code class="code">Resource</code>.
An alternative extent map can be
found in
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
<code class="code">org.eclipse.ocl.ecore.opposites.ExtentMap</code>
</a> .
We will use a custom extent map in evaluating a query expression that finds
@@ -15285,7 +15534,7 @@ System.out.println(ok);<br>
<code class="code">OCLHelper</code> interface provides an operation that
computes content-assist proposals in an abstract form, as
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/Choice.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/Choice.html" target="_new">
<code class="code">Choice</code>
</a> s.
An application&rsquo;s UI can then convert these to JFace&rsquo;s
@@ -15295,7 +15544,7 @@ System.out.println(ok);<br>
<p>Obtaining completion choices consists of supplying a partial OCL expression
(up to the cursor location in the UI editor) to the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html#getSyntaxHelp(org.eclipse.ocl.helper.ConstraintKind" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html#getSyntaxHelp(org.eclipse.ocl.helper.ConstraintKind" target="_new">
<code class="code">OCLHelper::getSyntaxHelp(ConstraintKind, String)</code>
</a>, java.lang.String)
method. This method requires a
@@ -15369,12 +15618,12 @@ oclAsType(typespec&nbsp;:&nbsp;OclType)&nbsp;:&nbsp;T<br>
<p>For processing the abstract syntax tree (AST) parsed from OCL text, the API
supplies a
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
<code class="code">Visitor</code>
</a>
interface. By implementing this interface (or extending the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
<code class="code">AbstractVisitor</code>
</a>
class, which is recommended), we can walk the AST of an OCL expression to
@@ -15963,7 +16212,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</div>
<p>The Ecore/UML Programmers Guide describes the ways in which the Ecore or UML bindings of Eclipse OCL can be used from Java programs.</p>
<p>The Ecore binding has been available since Eclipse OCL 1.0.0 (Callisto). The UML binding was added in 1.1.0 (Europa). Both will remain for as long as necessary. Examples quality prototypes of the new UML-aligned Pivot binding were first available in 3.1.0 (Indigo). The Pivot binding
- will become the preferred binding in 6.0.0 (Mars). The Pivot binding is described in a separate
+ became the preferred binding in 6.0.0 (Mars). The Pivot binding is described in a separate
<a class="link" href="#PivotProgrammersGuide" title="Chapter&nbsp;7.&nbsp;Unified or Pivot Programmers Guide">Pivot Programmers Guide</a>.
</p>
<p>The OCL Parser/Interpreter provides an implementation of the
@@ -16109,11 +16358,11 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</div>
</div>
<p>The OCL parser provides two APIs for parsing constraint and query expressions. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> interface is designed primarily for parsing constraints and query expressions
embedded in models, such as Ecore or UML models. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class serves as the main entrypoint into the parsing API but also implements the
parsing of
@@ -16144,7 +16393,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class is a generic type; its type parameters represent the various metaclasses
of the metamodels that OCL works with in the UML/MOF family of OMG specifications.
@@ -16161,11 +16410,11 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<code class="code">OCL</code> class defines instances of autonomous OCL
parsing and evaluation environments. It has a single root
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> created by an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a>
implementation for a particular EMF-based metamodel. The OCL environment
@@ -16198,7 +16447,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<p>An
<code class="code">Environment</code> may contain named
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/expressions/Variable.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/expressions/Variable.html" target="_new">
<code class="code">Variable</code>
</a> s
to which OCL expressions can refer. The most common of these is
@@ -16259,16 +16508,16 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<p>From an OCL instance, we can create a helper object with which to parse constraints
and additional operation/attribute definitions. This
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a>
stores all of the instantiations of OCL template metaclasses (such as
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/types/CollectionType.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/types/CollectionType.html" target="_new">
<code class="code">CollectionType(T)</code>
</a>
and
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/types/TupleType.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/types/TupleType.html" target="_new">
<code class="code">TupleType</code>
</a>
and additional operation/attribute definitions in the root environment of the
@@ -16367,7 +16616,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</p>
<p>The result of parsing a query expression is an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/expressions/OCLExpression.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/expressions/OCLExpression.html" target="_new">
<code class="code">OCLExpression</code>
</a>,
an instance of the
@@ -16459,7 +16708,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<code class="code">OCLHelper</code> for parsing constraints, the OCL
facade object provides
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Query.html" target="_new">
<code class="code">Query</code>
</a>
objects for evaluating constraints and query expressions.
@@ -16475,7 +16724,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<p>The
<code class="code">Query</code> encapsulates an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EvaluationEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EvaluationEnvironment.html" target="_new">
<code class="code">EvaluationEnvironment</code>
</a>
providing the run-time values of context variables to the OCL interpreter. These
@@ -16532,7 +16781,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
provides support for an extent map, mapping classes to the sets of their
instances, as determined by the client. A client sets the extent map using the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html#setExtentMap(java.util.Map)" target="_new">
<code class="code">OCL.setExtentMap()</code>
</a>
method. The default extent map, if none is provided by the client, lazily
@@ -16540,7 +16789,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<code class="code">Resource</code>
containing the context element of the evaluation. An alternative extent map can be
found in
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/ExtentMap.html" target="_new">
<code class="code">org.eclipse.ocl.ecore.opposites.ExtentMap</code>
</a>.
</p>
@@ -16609,7 +16858,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</div>
<p>As we saw in the
<a class="link" href="#ParsingConstraints" title="Parsing Constraints and Queries">Parsing Constraints and Queries</a> topic, the OCL parser provides an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> API for parsing constraints embedded in models. OCL also permits constraints
to be specified in a text document, as an adjunct to the model. In this case,
@@ -16648,7 +16897,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</div>
</div>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCLInput.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCLInput.html" target="_new">
<code class="code">OCLInput</code>
</a> class encapsulates an OCL document. An input can be created from a string or an
input stream.
@@ -16739,13 +16988,13 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</div>
<p>
The OCL API implements support for different target metamodels via the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a> interface. An implementation of this interface binds the metamodel&rsquo;s metaclasses to the generic type parameters of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class. The metamodel-specific
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
</p>
@@ -16763,7 +17012,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</p>
<p>As is illustrated by most of the examples in this documentation, the Ecore binding is provided by the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
<code class="code">EcoreEnvironmentFactory</code>
</a> class. By default, the Ecore environment uses the static
<code class="code">EPackage</code> registry to look up package names. It can also be supplied with an alternative package registry (for example, one local to a
@@ -16771,7 +17020,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<code class="code">EcoreEnvironmentFactory.INSTANCE</code> is most practical.
</p>
<p>The Ecore binding for OCL provides the following capabilities, reflecting the subset of Ecore&rsquo;s modeling constructs with respect to UML:</p>
-<table id="N14227">
+<table id="N1435E">
<tr>
<th>Capability</th>
@@ -16979,7 +17228,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<code class="code">InstanceSpecification</code> elements in the UML model.
</p>
<p>The UML binding is provided by the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/uml/UMLEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/uml/UMLEnvironmentFactory.html" target="_new">
<code class="code">UMLEnvironmentFactory</code>
</a> class. By default, the UML environment factory and all of the environment contexts that it creates use a private
<code class="code">ResourceSet</code> to look up the corresponding UML model(s) against which OCL constraints are parsed.
@@ -16996,7 +17245,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
<code class="code">EPackage</code> names corresponding to UML models. A custom package registry may be provided by the client if necessary.
</p>
<p>The UML binding for OCL provides the following capabilities:</p>
-<table id="N143DC">
+<table id="N14513">
<tr>
<th>Capability</th>
@@ -17231,7 +17480,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</div>
<p>
The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/OCLHelper.html" target="_new">
<code class="code">OCLHelper</code>
</a> API provides support for content-assist in rich editors, by parsing partial OCL
expressions and supplying completion suggestions. The
@@ -17249,7 +17498,7 @@ System.out.println(ocl.evaluate(myBook,&nbsp;query));<br>
</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/helper/Choice.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/helper/Choice.html" target="_new">
<code class="code">Choice</code>
</a> objects returned by the helper include some convenient text strings (name and
description) to formulate basic JFace content-assist proposals. Each choice
@@ -17306,7 +17555,7 @@ for&nbsp;(Choice&nbsp;next&nbsp;:&nbsp;choices)&nbsp;{<br>
<code class="code">Choice</code> s is supported for the
following tokens, which may be used by a client as auto-assist triggers:
</p>
-<table id="N145DB">
+<table id="N14712">
<tr>
<th>Token</th>
@@ -17419,12 +17668,12 @@ for&nbsp;(Choice&nbsp;next&nbsp;:&nbsp;choices)&nbsp;{<br>
</div>
</div>
<p>All of the metaclasses in the Abstract Syntax Model (nodes in the AST) that can be visited implement the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitable.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitable.html" target="_new">
<code class="code">Visitable</code>
</a> interface. It define a single operation
<code class="code">accept(Visitor)</code>. This method delegates to the appropriate
<code class="code">visitXyz(Xyz)</code> method of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/Visitor.html" target="_new">
<code class="code">Visitor</code>
</a> . The direct implementors of the
<code class="code">Visitable</code> interface are the
@@ -17474,7 +17723,7 @@ for&nbsp;(Choice&nbsp;next&nbsp;:&nbsp;choices)&nbsp;{<br>
a
<code class="code">ValidationVisitor</code> for validating OCL expressions and an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EvaluationVisitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EvaluationVisitor.html" target="_new">
<code class="code">EvaluationVisitor</code>
</a> for evaluating OCL expressions.
</p>
@@ -17490,7 +17739,7 @@ for&nbsp;(Choice&nbsp;next&nbsp;:&nbsp;choices)&nbsp;{<br>
</div>
<p>The best way to implement a visitor is to extend the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/AbstractVisitor.html" target="_new">
<code class="code">AbstractVisitor</code>
</a> class. It provides a
<code class="code">result</code> variable of the generic
@@ -17844,7 +18093,7 @@ def:&nbsp;regexMatch(pattern&nbsp;:&nbsp;String)&nbsp;:&nbsp;String&nbsp;=<br>
</p>
<p>First, let&rsquo;s start by defining a specialization of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironment.html" target="_new">
<code class="code">EcoreEnvironment</code>
</a> . The constructor that is used to initialize the root environment of an
<code class="code">OCL</code>
@@ -17915,7 +18164,7 @@ def:&nbsp;regexMatch(pattern&nbsp;:&nbsp;String)&nbsp;:&nbsp;String&nbsp;=<br>
<p></p>
<p>Next, we will define the corresponding specialization of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEvaluationEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEvaluationEnvironment.html" target="_new">
<code class="code">EcoreEvaluationEnvironment</code>
</a> that will know how to evaluate calls to this custom operation:
</p>
@@ -17957,7 +18206,7 @@ def:&nbsp;regexMatch(pattern&nbsp;:&nbsp;String)&nbsp;:&nbsp;String&nbsp;=<br>
<p></p>
<p>Finally, we define a specialization of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
<code class="code">EcoreEnvironmentFactory</code>
</a> that creates our custom environments:
</p>
@@ -18126,7 +18375,7 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</div>
</div>
<p>The default
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/EcoreEnvironmentFactory.html" target="_new">
<code class="code">EcoreEnvironmentFactory</code>
</a> produces environments which can find references that have an annotation with source
<code class="code">http://schema.omg.org/spec/MOF/2.0/emof.xml</code>
@@ -18139,12 +18388,12 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</p>
<p>The logic used to find these &ldquo;hidden&rdquo; opposites and to navigate them is provided by implementations
of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> interface. By default, the
<code class="code">EcoreEnvironmentFactory</code> uses the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
<code class="code">DefaultOppositeEndFinder</code>
</a> implementation. It performs the lookup of annotated references by maintaining a cache based on
the Ecore package registry. Successful navigation of those &ldquo;hidden&rdquo; opposites requires an
@@ -18159,11 +18408,11 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</a> has a significant downside: it responds to &ldquo;hidden&rdquo; opposite navigation requests only based on what has so far been loaded by EMF. If the set of resources held by an underlying EMF storage system contains more resources than have so far been loaded into the resource set, non-loaded content from that storage system won&rsquo;t be considered by the
<code class="code">ECrossReferenceAdapter</code>. Given a store with reasonable search capabilities it is desirable to take advantage of these capabilities also to perform reverse navigation of those &ldquo;hidden&rdquo; opposites. To achieve this, a specific implementation of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> interface can be provided. It may be a specialization of
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/DefaultOppositeEndFinder.html" target="_new">
<code class="code">DefaultOppositeEndFinder</code>
</a>, e.g., when the reference lookup based on the Ecore package registry is sufficient and only the navigation behavior shall be redefined:
</p>
@@ -18254,7 +18503,7 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
via
<code class="code">def:</code> expressions. The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/TypeResolver.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/TypeResolver.html" target="_new">
<code class="code">TypeResolver</code>
</a> API is responsible for the demand-creation of these types and for their persistence.
</p>
@@ -18267,7 +18516,7 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
</p>
<p>Every
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> has a
<code class="code">TypeResolver</code> that persists demand-created types and additional features. For a client that doesn&rsquo;t require persistence, the
@@ -18278,13 +18527,13 @@ System.out.printf("%s&nbsp;valid&nbsp;SSN:&nbsp;%b%n",&nbsp;person,&nbsp;ocl.che
<p>A client that does require persistence of OCL expressions and these demand-created elements
should provide a specific resource in which to store them, either via the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class&rsquo;s
<code class="code">newInstance(EnvironmentFactory, Resource)</code> factory method or via
the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a> interface&rsquo;s
<code class="code">load(Resource)</code> method.
@@ -18312,7 +18561,7 @@ ocl&nbsp;=&nbsp;OCL.newInstance(EcoreEnvironmentFactory.INSTANCE,&nbsp;myResourc
</div>
<p></p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/AbstractTypeResolver.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/AbstractTypeResolver.html" target="_new">
<code class="code">AbstractTypeResolver</code>
</a> class creates packages in which to store the different elements that it creates: collection types, message types, tuple types, and additional operations and attributes. These last are owned by classes that &ldquo;shadow&rdquo; the classifiers in which context they are defined, in
the manner by which the OCL specification&rsquo;s adaptation for EMOF indicates that operations
@@ -18342,7 +18591,7 @@ ocl&nbsp;=&nbsp;OCL.newInstance(EcoreEnvironmentFactory.INSTANCE,&nbsp;myResourc
can likewise create bindings for their metamodels, to integrate OCL with their modeling
languages.</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/Environment.html" target="_new">
<code class="code">Environment</code>
</a> interface has a generic type signature with several parameters, representing the metamodeling
constructs required by OCL, that it borrows from UML, EMOF, and the other metamodels that
@@ -18481,12 +18730,12 @@ ocl&nbsp;=&nbsp;OCL.newInstance(EcoreEnvironmentFactory.INSTANCE,&nbsp;myResourc
invalidated constraints after a change it would be necessary to re-evaluate all invariants
on all their context objects regardless their resource. This does not scale sufficiently well.</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">
<code class="code">ImpactAnalyzerFactory</code>
</a> interface allows tool builders to efficiently determine a much smaller set of model elements on which re-evaluation of expressions is necessary after a change.
</p>
<p>Given an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/OCLExpression.html" target="_new">OCL expression</a>, the factory can be used to create an impact analyzer for a single expression as follows:
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/OCLExpression.html" target="_new">OCL expression</a>, the factory can be used to create an impact analyzer for a single expression as follows:
</p>
<div class="literallayout">
<p>
@@ -18547,8 +18796,8 @@ eventManager.subscribe(filter,&nbsp;new&nbsp;AdapterImpl()&nbsp;{<br>
</p>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/eventmanager/EventManagerFactory.html" target="_new">event manager factory</a> and the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/eventmanager/EventManager.html" target="_new">event managers</a> it produces lay the scalable foundation for the re-evaluation process. Even if it has to manage many subscriptions, its performance does not degrade as it would if the change notification filters were evaluated one after the other. With this it becomes possible to register many OCL expressions for change impact analysis as shown above. The figure below shows a typical default configuration of an event manager, as a UML instance collaboration diagram.
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/eventmanager/EventManagerFactory.html" target="_new">event manager factory</a> and the
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/eventmanager/EventManager.html" target="_new">event managers</a> it produces lay the scalable foundation for the re-evaluation process. Even if it has to manage many subscriptions, its performance does not degrade as it would if the change notification filters were evaluated one after the other. With this it becomes possible to register many OCL expressions for change impact analysis as shown above. The figure below shows a typical default configuration of an event manager, as a UML instance collaboration diagram.
</p>
<p>
@@ -18665,8 +18914,8 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
</div>
<p>The impact analyzer can be created in several different configurations as explained in
detail in the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">Javadocs</a> . Particularly noteworthy is the relationship between the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/ImpactAnalyzerFactory.html" target="_new">Javadocs</a> . Particularly noteworthy is the relationship between the
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> and the way an
<code class="code">allInstance</code> expression is evaluated. Both depend on a notion of lookup
@@ -18675,7 +18924,7 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
<code class="code">allInstances</code> and reverse navigation when there is no explicit opposite property.
</p>
<p>For this purpose, Eclipse OCL has introduced the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/ecore/opposites/OppositeEndFinder.html" target="_new">
<code class="code">OppositeEndFinder</code>
</a> interface through which reverse navigations
of references and
@@ -18692,11 +18941,11 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
<code class="code">allInstances</code> evaluation is most likely
inconsistent with the scope definitions of that opposite end finder. To avoid such problems,
a
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/util/OCL.html" target="_new">specific OCL factory</a> can create OCL instances that ensure consistency between opposite navigation and
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/util/OCL.html" target="_new">specific OCL factory</a> can create OCL instances that ensure consistency between opposite navigation and
<code class="code">allInstances</code> evaluation.
</p>
<p>Other configuration options (see
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/impactanalyzer/configuration/ActivationOption.html)" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/impactanalyzer/configuration/ActivationOption.html)" target="_new">
<code class="code">ActivationOption</code>
</a> concern the specific algorithm used for tracing back from a change notification to the set of context objects for which the expression
may have changed its value. The default selection has proven to be the fastest for a set
@@ -19386,7 +19635,7 @@ private&nbsp;Revalidator&nbsp;revalidator; //&nbsp;&nbsp;from&nbsp;collecting&n
</div>
<p>The Unified or Pivot Programmers Guide describes the ways in which the Pivot binding Eclipse OCL can be used from Java programs.</p>
<p>The Pivot binding was first available as an examples quality prototype in 3.1.0 (Indigo). The Pivot binding
- will become the preferred binding in 6.0.0 (Mars). The older Ecore and UML bindings are described in a separate
+ became the preferred binding in 6.0.0 (Mars). The older Ecore and UML bindings are described in a separate
<a class="link" href="#ProgrammersGuide" title="Chapter&nbsp;6.&nbsp;Classic Ecore/UML Programmers Guide">Ecore/UML Programmers Guide</a>.
</p>
<p>The OCL Parser/Interpreter provides an implementation of the
@@ -20192,7 +20441,7 @@ org.eclipse.xtext<br>
<a class="link" href="#ParsingConstraints" title="Parsing Constraints and Queries">Parsing Constraints and Queries</a> for the Ecore binding to see examples of the changes needed to migrate from the Ecore binding to the Pivot binding.
</p>
<p>The OCL parser provides two APIs for parsing constraint and query expressions using the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a> Facade.
</p>
@@ -20206,7 +20455,7 @@ org.eclipse.xtext<br>
</div>
</div>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class provides both a Facade and a Handle for the various objects that support different aspects of OCL parsing and evaluation.
</p>
@@ -20368,7 +20617,7 @@ org.eclipse.xtext<br>
</p>
<p>The result of parsing a query expression or a constraint is an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/ExpressionInOCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/ExpressionInOCL.html" target="_new">
<code class="code">ExpressionInOCL</code>
</a>,
an instance of the
@@ -20530,7 +20779,7 @@ org.eclipse.xtext<br>
<code class="code">ExpressionInOCL</code> compiled representation. Parsing constraints is interesting,
but evaluating them using the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
<code class="code">Query</code>
</a>
API is much more useful.
@@ -20546,7 +20795,7 @@ org.eclipse.xtext<br>
</div>
<p>The
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/Query.html" target="_new">
<code class="code">Query</code>
</a>
class wraps the minimal
@@ -20563,7 +20812,7 @@ org.eclipse.xtext<br>
<p>The
<code class="code">Query</code> encapsulates an
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/evaluation/EvaluationEnvironment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/evaluation/EvaluationEnvironment.html" target="_new">
<code class="code">EvaluationEnvironment</code>
</a>
providing the run-time values of context variables to the OCL interpreter. These
@@ -20616,12 +20865,12 @@ org.eclipse.xtext<br>
<code class="code">Class</code> extents, the
<code class="code">OCL</code> handle references a
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/evaluation/ModelManager.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/evaluation/ModelManager.html" target="_new">
<code class="code">ModelManager</code>
</a>
that provides access to the user&rsquo;s models. The default
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/internal/evaluation/PivotModelManager.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/internal/evaluation/PivotModelManager.html" target="_new">
<code class="code">PivotModelManager</code>
</a>
lazily computes the extent of a class from the EMF
@@ -20673,7 +20922,7 @@ org.eclipse.xtext<br>
</li>
</ul>
</div>
-<table id="N151FE">
+<table id="N15335">
<tr>
<th>OCL</th>
@@ -20862,7 +21111,7 @@ org.eclipse.xtext<br>
</div>
<p>As we saw in the
<a class="link" href="#PivotParsingConstraints" title="Parsing Constraints and Queries">Parsing Constraints and Queries</a> topic, the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a>
Facade provides an API for parsing OCL expressions embedded in models as constraints.
@@ -21068,13 +21317,13 @@ org.eclipse.xtext<br>
</p>
<p>
The OCL API implements support for different target metamodels via the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/EnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/EnvironmentFactory.html" target="_new">
<code class="code">EnvironmentFactory</code>
</a> interface. An implementation of this interface binds the metamodel&rsquo;s metaclasses to the generic type parameters of the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/utilities/OCL.html" target="_new">
<code class="code">OCL</code>
</a> class. The metamodel-specific
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/examples/pivot/Environment.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/examples/pivot/Environment.html" target="_new">
<code class="code">Environment</code>
</a> implementation constructed by this factory implements the reflection capability required by OCL to discover the elements of the model being constrained and the relationships between them.
</p>
@@ -21141,7 +21390,7 @@ org.eclipse.xtext<br>
</p>
<p>The Pivot binding is provided by the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/org/eclipse/ocl/pivot/internal/utilities/PivotEnvironmentFactory.html" target="_new">
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/org/eclipse/ocl/pivot/internal/utilities/PivotEnvironmentFactory.html" target="_new">
<code class="code">PivotEnvironmentFactory</code>
</a> class. For compatibility, as a default, the Pivot environment uses the static
<code class="code">EPackage</code> registry to look up package names. This default is deprecated since the domain of
@@ -21388,8 +21637,8 @@ org.eclipse.xtext<br>
</div>
</div>
</div>
-<p>The Javadoc for Eclipse OCL 6.0.0 (Mars) APIs may be found by following the
- <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.0.0/" target="_new">OCL 6.0.0 API Reference</a> link.
+<p>The Javadoc for Eclipse OCL 6.1.0 (Mars) APIs may be found by following the
+ <a class="ulink" href="http://download.eclipse.org/ocl/javadoc/6.1.0/" target="_new">OCL 6.1.0 API Reference</a> link.
</p>
</div>
<div class="section" title="Extension points">
diff --git a/doc/org.eclipse.ocl.doc/manual/ocl.pdf b/doc/org.eclipse.ocl.doc/manual/ocl.pdf
index a578803761..48805acdd1 100644
--- a/doc/org.eclipse.ocl.doc/manual/ocl.pdf
+++ b/doc/org.eclipse.ocl.doc/manual/ocl.pdf
Binary files differ
diff --git a/doc/org.eclipse.ocl.doc/styles/titlepage.xsl b/doc/org.eclipse.ocl.doc/styles/titlepage.xsl
index 90f1b0def2..7949e3725a 100644
--- a/doc/org.eclipse.ocl.doc/styles/titlepage.xsl
+++ b/doc/org.eclipse.ocl.doc/styles/titlepage.xsl
@@ -79,7 +79,7 @@
<xsl:text>Christian Damus, Adolfo Sánchez-Barbudo Herrera, Axel Uhl, Edward Willink and contributors</xsl:text>
</fo:block>
<fo:block font-family="Helvetica" font-size="12pt" padding="10mm">
- <xsl:text>Copyright 2002 - 2015</xsl:text>
+ <xsl:text>Copyright 2002 - 2016</xsl:text>
</fo:block>
</fo:table-cell>
</fo:table-row>
diff --git a/doc/org.eclipse.ocl.doc/styles/xmpp.xsl b/doc/org.eclipse.ocl.doc/styles/xmpp.xsl
index 289919a0c2..75459749e6 100644
--- a/doc/org.eclipse.ocl.doc/styles/xmpp.xsl
+++ b/doc/org.eclipse.ocl.doc/styles/xmpp.xsl
@@ -39,7 +39,7 @@
<xsl:text>Eclipse OCL </xsl:text><xsl:value-of select="//releaseinfo"/>
</xsl:when>
<xsl:otherwise>
- Eclipse OCL 6.0.0
+ Eclipse OCL 6.1.0
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
diff --git a/doc/org.eclipse.ocl.doc/textileBuild.xml b/doc/org.eclipse.ocl.doc/textileBuild.xml
index 8312afeed1..f372871f5c 100644
--- a/doc/org.eclipse.ocl.doc/textileBuild.xml
+++ b/doc/org.eclipse.ocl.doc/textileBuild.xml
@@ -36,6 +36,7 @@
</not>
</condition>
<echo>Target Location: "${target.location}" </echo>
+ <echo>download.dir "${download.dir}" </echo>
<path id="xslt.classpath">
<pathelement path="${java.class.path}"/>
<pathelement path="${target.location}/plugins/org.apache.xalan_2.7.1.v201005080400.jar"/>
diff --git a/doc/org.eclipse.ocl.doc/toc.xml b/doc/org.eclipse.ocl.doc/toc.xml
index c092b23f6e..5d23289422 100644
--- a/doc/org.eclipse.ocl.doc/toc.xml
+++ b/doc/org.eclipse.ocl.doc/toc.xml
@@ -295,11 +295,13 @@
<topic href="help/OclAny.html" label="OclAny"></topic>
<topic href="help/OclComparable.html" label="OclComparable"></topic>
<topic href="help/OclElement.html" label="OclElement"></topic>
+<topic href="help/OclEnumeration.html" label="OclEnumeration"></topic>
<topic href="help/OclInvalid.html" label="OclInvalid"></topic>
<topic href="help/OclLambda.html" label="OclLambda"></topic>
<topic href="help/OclMessage.html" label="OclMessage"></topic>
<topic href="help/OclSelf.html" label="OclSelf"></topic>
<topic href="help/OclState.html" label="OclState"></topic>
+<topic href="help/OclStereotype.html" label="OclStereotype"></topic>
<topic href="help/OclSummable.html" label="OclSummable"></topic>
<topic href="help/OclTuple.html" label="OclTuple"></topic>
<topic href="help/OclType.html" label="OclType"></topic>

Back to the top