blob: 75b86099c7f6caf2474f2821da068d18125b03ed [file] [log] [blame]
// 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)");