| // Copied from org.eclipse.ocl.examples.test.xtext.PivotDocumentationExamples.java | |
| // define a post-condition specifying the value of EModelElement::getEAnnotation(EString). | |
| // This operation environment includes variables representing the operation | |
| // parameters (in this case, only "source : String") and the operation result | |
| EOperation contextEOperation = NameUtil.getENamedElement( | |
| EcorePackage.Literals.EMODEL_ELEMENT.getEOperations(), "getEAnnotation"); | |
| ExpressionInOCL body = ocl.createPostcondition(contextEOperation, | |
| "result = self.eAnnotations->any(ann | ann.source = source)"); | |
| // define a derivation constraint for the EReference::eReferenceType property | |
| EReference contextEReference = EcorePackage.Literals.EREFERENCE__EREFERENCE_TYPE; | |
| ExpressionInOCL derive = ocl.createQuery(contextEReference, | |
| "self.eType->any(true).oclAsType(EClass)"); |