// implements the interface method public Environment createAttributeContext(Environment parent, Property property) { Environment result = createEnvironment(parent); if (result instanceof AbstractEnvironment) { ((AbstractEnvironment) result).setContextProperty(property); } return result; }
/** * Creates an environment for the specified package context. * * @param parent the parent environment of the environment to be created * @param context the package context (must not be <code>null</code>) * @return the new nested environment */ protected Environment createPackageContext( Environment parent, org.eclipse.ocl.examples.pivot.Package context) { Environment result = createEnvironment(parent); if (result instanceof AbstractEnvironment) { ((AbstractEnvironment) result).setContextPackage(context); } return result; }
// implements the interface method public Environment createOperationContext(Environment parent, Operation operation) { Environment result = createEnvironment(parent); if (result instanceof AbstractEnvironment) { ((AbstractEnvironment) result).setContextOperation(operation); } OCLFactory oclFactory = parent.getOCLFactory(); for (Parameter next : operation.getOwnedParameters()) { // ensure that we use the OCL primitive types wherever possible Variable var = oclFactory.createVariable(); var.setName(next.getName()); var.setType(next.getType()); var.setRepresentedParameter(next); result.addElement(var.getName(), var, true); } return result; }