Java 类org.eclipse.emf.ecore.EParameter 实例源码

项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
/**
 * Convert an OCCI action to an Ecore operation.
 * 
 * @param action
 *            the OCCI action to convert.
 * @return the resulting Ecore operation.
 */
protected EOperation convertAction(Action action) {
    // Create the Ecore operation.
    EOperation eOperation = EcoreFactory.eINSTANCE.createEOperation();
    // Set the name of the Ecore operation.
    eOperation.setName(ConverterUtils.formatName(action.getTerm()));
    // Convert all attributes of the OCCI action.
    for (Attribute attribute : action.getAttributes()) {
        // Each OCCI attribute of the OCCI action is converted to an Ecore
        // parameter of the Ecore operation.
        EParameter convertParameter = convertParameter(attribute);
        if (convertParameter != null) {
            // Add the Ecore parameter to the Ecore operation.
            eOperation.getEParameters().add(convertParameter);
        }
    }
    attachInfo(eOperation, action.getTitle());

    return eOperation;
}
项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
/**
 * Convert an OCCI action's attribute to an Ecore operation parameter.
 * 
 * @param attribute
 *            the OCCI attribute to convert.
 * @return the resulting Ecore operation parameter.
 */
protected EParameter convertParameter(Attribute attribute) {
    // Create an Ecore parameter.
    EParameter eParam = EcoreFactory.eINSTANCE.createEParameter();
    // Set the name of the Ecore parameter.
    eParam.setName(Occi2Ecore.convertOcciAttributeName2EcoreAttributeName(attribute.getName()));

    // Set the type of the Ecore parameter.
    eParam.setEType(getMappedType(attribute.getType()));

    // If the OCCI attribute is required then the Ecore parameter is also
    // required.
    if (attribute.isRequired()) {
        eParam.setLowerBound(1);
    }
    attachInfo(eParam, attribute.getDescription());

    return eParam;
}
项目:EMFtoCSP    文件:OclToEcl.java   
@Override
public String visitVariableExp(VariableExp<EClassifier, EParameter> v) {
  ++counter;
  oclTranslation.append("% Lookup for variable " + v.getName() + "\n");
  String predName = "nVariable" + counter + constraintName;
  oclTranslation.append(predName);
  oclTranslation.append("(_, Vars, Result):-");
  oclTranslation.append("\n\t");
  oclTranslation.append("ocl_variable(Vars,");
  int index = varStack.search(v.getName());
  if (index < 0) {
    logger.writeErrorMessage(this.getClass().toString(), "Internal error: Variable " + v.getName() + " not found");
  }
  oclTranslation.append(index);
  oclTranslation.append(",Result).\n");
  return predName;
}
项目:eclipse-avro    文件:EOperationImpl.java   
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
public boolean isOverrideOf(EOperation someOperation)
{
  if (someOperation.getEContainingClass().isSuperTypeOf(getEContainingClass()) && someOperation.getName().equals(getName()))
  {
    EList<EParameter> parameters = getEParameters();
    EList<EParameter> otherParameters = someOperation.getEParameters();
    if (parameters.size() == otherParameters.size())
    {
      for (Iterator<EParameter> i = parameters.iterator(), j = otherParameters.iterator(); i.hasNext(); )
      {
        EParameter parameter = i.next();
        EParameter otherParameter = j.next();
        if (!parameter.getEType().getInstanceTypeName().equals(otherParameter.getEType().getInstanceTypeName()))
        {
          return false;
        }
      }
      return true;
    }
  }
  return false;
}
项目:clickwatch    文件:EOperationImpl.java   
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
public boolean isOverrideOf(EOperation someOperation)
{
  if (someOperation.getEContainingClass().isSuperTypeOf(getEContainingClass()) && someOperation.getName().equals(getName()))
  {
    EList<EParameter> parameters = getEParameters();
    EList<EParameter> otherParameters = someOperation.getEParameters();
    if (parameters.size() == otherParameters.size())
    {
      for (Iterator<EParameter> i = parameters.iterator(), j = otherParameters.iterator(); i.hasNext(); )
      {
        EParameter parameter = i.next();
        EParameter otherParameter = j.next();
        if (!parameter.getEType().getInstanceTypeName().equals(otherParameter.getEType().getInstanceTypeName()))
        {
          return false;
        }
      }
      return true;
    }
  }
  return false;
}
项目:dsl-devkit    文件:XtextSpyLabelProvider.java   
/**
 * Text for EOperation.
 * 
 * @param eOperation
 *          the EOperation
 * @return the name and types of all EParameters
 */
protected String text(final EOperation eOperation) {
  return eOperation.getName() + "(" + Joiner.on(", ").join(Iterables.transform(eOperation.getEParameters(), new Function<EParameter, String>() {
    public String apply(final EParameter input) {
      return getText(input.getEType());
    }
  })) + ") : " + (eOperation.getEType() == null ? "Void" : getText(eOperation.getEType()));
}
项目:anatlyzer    文件:ExtendTransformation.java   
private void extendWith(EClass c, EOperation op) {
    if ( op.getEType() == null ) {
        // Operations without return type cannot be invoked in ATL
        return;
    }


    ContextHelper helper = ATLFactory.eINSTANCE.createContextHelper();
    helper.getCommentsBefore().add(EOPERATION_TAG);
    OclFeatureDefinition fd  = OCLFactory.eINSTANCE.createOclFeatureDefinition();
    OclContextDefinition ctx = OCLFactory.eINSTANCE.createOclContextDefinition();
    Operation oclOp          = OCLFactory.eINSTANCE.createOperation();

    ctx.setContext_(createType(c, false));
    fd.setContext_(ctx);
    fd.setFeature(oclOp);

    oclOp.setName(op.getName());
    oclOp.setReturnType(createType(op.getEType(), op.isMany()));
    oclOp.setBody( OCLFactory.eINSTANCE.createJavaBody() );

    for(EParameter p : op.getEParameters()) {
        Parameter pnew = OCLFactory.eINSTANCE.createParameter();
        pnew.setVarName(p.getName());
        pnew.setType(createType(p.getEType(), p.isMany()));
        oclOp.getParameters().add(pnew);
    }

    helper.setDefinition(fd);

    if ( unit instanceof Module ) {
        ((Module) unit).getElements().add(helper);
    } else if ( unit instanceof Library ) {
        ((Library) unit).getHelpers().add(helper);
    } else {
        // Ignore
    }


}
项目:EMFtoCSP    文件:EOperationUMLAdapter.java   
@Override
public EList<EParameter> getEParameters() {
    List<Parameter> paramList = origOperation.getOwnedParameters();
    EList<EParameter> result = new BasicEList<EParameter>();
    if (! paramList.isEmpty()){
        for (Parameter param : paramList)
             if (param.getDirection() != ParameterDirectionKind.RETURN_LITERAL)
            result.add(((EResourceUMLAdapter)owningResource).getParamIfNotExists(new EParameterUMLAdapter(param,owningResource)));
    }
return result;
}
项目:EMFtoCSP    文件:EResourceUMLAdapter.java   
public EParameter getParamIfNotExists(EParameter param){
    Assert.isNotNull(param);
    for (EParameter par : loadedParameters)
        if (par.equals(param))
            return par;
    loadedParameters.add(param);
    return param;
}
项目:EMFtoCSP    文件:OclToEcl.java   
@Override
public String visitExpressionInOCL(ExpressionInOCL<EClassifier, EParameter> expression) {
  constraintName = ((Constraint)expression.eContainer()).getName();
  oclTranslation = new StringBuilder();

  oclTranslation.append("% OCL constraint " + expression.getBodyExpression().toString() + "\n" );

  varStack = new Stack<String>();
  firstPredicate = "";
  counter = 0;
  return super.visitExpressionInOCL(expression);
}
项目:EMFtoCSP    文件:OclToEcl.java   
@Override
public String visitIteratorExp(IteratorExp<EClassifier, EParameter> callExp) {
  List<String> variableResults;
  EList<Variable<EClassifier, EParameter>> variables = callExp.getIterator();

  if (variables.isEmpty()) {
    variableResults = Collections.emptyList();
  } 
  else {
    variableResults = new java.util.ArrayList<String>(variables.size());
  }
  Iterator<Variable<EClassifier, EParameter>> it = variables.iterator();
  return processIterators(callExp, it, variableResults);

}
项目:EMFtoCSP    文件:OclToEcl.java   
@Override
protected String handleIteratorExp(IteratorExp<EClassifier, EParameter> callExp, String sourceResult, List<String> variableResults, String bodyResult) {    
  String itName = callExp.getName();
  //String type = itName.equalsIgnoreCase("forAll") ? "Boolean" : getType(callExp);

  ++counter;
  String predName = "n" + itName + counter + constraintName;
  oclTranslation.append(predName);
  oclTranslation.append("(Instances, Vars, Result):-");
  oclTranslation.append("\n\t");
  oclTranslation.append(sourceResult);
  oclTranslation.append("(Instances, Vars, Value1),");
  oclTranslation.append("\n\t");
  oclTranslation.append("ocl_");
  if (itName.equals("collect") || itName.equals("select") || itName.equals("reject") || itName.equals("collectNested") ||  itName.equals("sortedBy")) {  
    //FIXME: this is a dirty bug fix
    oclTranslation.append("bag"); 
    oclTranslation.append("_"); 
  }
  else
    oclTranslation.append("col_"); 
  oclTranslation.append(itName);
  oclTranslation.append("(Instances, Vars, Value1, ");
  oclTranslation.append(bodyResult);
  oclTranslation.append(", Result).\n");
  return predName;
}
项目:EMFtoCSP    文件:OclToEcl.java   
@Override
protected String handleExpressionInOCL(ExpressionInOCL<EClassifier, EParameter> callExp, String contextResult, String resultResult, List<String> parameterResults, String bodyResult) {
  String predName = constraintName.substring(0,1).toLowerCase().concat(constraintName.substring(1, constraintName.length()));
  setConstraintFirstPredicate(bodyResult); 
  oclTranslation.append(predName);
  oclTranslation.append("(Instances):-");
  oclTranslation.append("\n\t");
  oclTranslation.append(bodyResult);
  oclTranslation.append("(Instances, [], Result),");
  oclTranslation.append("\n\t");
  oclTranslation.append("Result #=1.\n");    
  return oclTranslation.toString();     
}
项目:EMFtoCSP    文件:LookupSelfVariableVisitor.java   
public  Variable<EClassifier, EParameter> visitVariableExp(VariableExp<EClassifier, EParameter> v) {
    Variable<EClassifier, EParameter> referredVar = v.getReferredVariable();
    if ("self".equals(referredVar.getName())) {
        result = referredVar;
    }
    return result;
}
项目:EMFtoCSP    文件:EmfToEclCodeGenerator.java   
/**
   * Add quantification for self variable if required.
   * @param helper 
   * @param contextCls The context of this expression (i.e., the type of "self")
   * @param oclExpression The OCL expression to be extended
   * @throws ParserException
   */
  @SuppressWarnings("rawtypes")
  private void insertQuantificationForSelf(OCLHelper<EClassifier, EOperation, EStructuralFeature, Constraint> helper,
        EClass contextCls, ExpressionInOCL oclExpression) throws ParserException {

      /* TODO: This method inserts the quantification for "self" only if this variable
       *       occurs. This is working and practical. 
       *       However, the precise semantics of OCL would require that self is always quantified.
       *       In the long term, a switch for EMFtoCSP should be added.
       */
      OCLExpression bodyExp = oclExpression.getBodyExpression();
      LookupSelfVariableVisitor lookupVisitor = new LookupSelfVariableVisitor();
      bodyExp.accept(lookupVisitor);
      Variable<EClassifier, EParameter> selfDecl = lookupVisitor.getResult();
      if (selfDecl != null) {
          System.err.println("Adding required self variable quantification");
          EcorePackage oclPackage =  (EcorePackage) oclExpression.eClass().getEPackage();
          EcoreFactory oclFactory = (EcoreFactory) oclPackage.getEFactoryInstance();
          IteratorExp forAllExp = oclFactory.createIteratorExp();
          forAllExp.setName("forAll");
          forAllExp.setType((EClassifier) bodyExp.getType());
          selfDecl.setName("self");
          selfDecl.setType(contextCls);
          forAllExp.getIterator().add(selfDecl);
          forAllExp.setBody(bodyExp);         
          helper.setContext(contextCls);
          OCLExpression<EClassifier> allInstancesExp = helper.createQuery(contextCls.getName() + ".allInstances()");
          forAllExp.setSource(allInstancesExp);
          oclExpression.setBodyExpression(forAllExp);
      }
}
项目:eclipse-avro    文件:EOperationImpl.java   
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public EList<EParameter> getEParameters()
{
  if (eParameters == null)
  {
    eParameters = new EObjectContainmentWithInverseEList<EParameter>(EParameter.class, this, EcorePackage.EOPERATION__EPARAMETERS, EcorePackage.EPARAMETER__EOPERATION);
  }
  return eParameters;
}
项目:eclipse-avro    文件:EPackageImpl.java   
private EParameter internalAddEParameter(EOperation owner, EClassifier type, String name)
{
  EParameter p = ecoreFactory.createEParameter();
  p.setEType(type);
  p.setName(name);
  owner.getEParameters().add(p);
  return p;
}
项目:eclipse-avro    文件:EPackageImpl.java   
protected EParameter addEParameter(EOperation owner, EClassifier type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
{
  EParameter p = internalAddEParameter(owner, type, name);
  p.setLowerBound(lowerBound);
  p.setUpperBound(upperBound);
  p.setUnique(isUnique);
  p.setOrdered(isOrdered);
  return p;
}
项目:eclipse-avro    文件:EPackageImpl.java   
@Deprecated
protected void addEParameter(EOperation owner, EGenericType type, String name, int lowerBound, int upperBound)
{
  EParameter p = ecoreFactory.createEParameter();
  p.setEGenericType(type);
  p.setName(name);
  owner.getEParameters().add(p);
  p.setLowerBound(lowerBound);
  p.setUpperBound(upperBound);
}
项目:eclipse-avro    文件:EPackageImpl.java   
protected void addEParameter(EOperation owner, EGenericType type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
{
  EParameter p = ecoreFactory.createEParameter();
  p.setEGenericType(type);
  p.setName(name);
  owner.getEParameters().add(p);
  p.setLowerBound(lowerBound);
  p.setUpperBound(upperBound);
  p.setUnique(isUnique);
  p.setOrdered(isOrdered);
}
项目:clickwatch    文件:AddAnnotationsAction.java   
private String getBody(final EOperation op) {
      final StringBuffer buff = new StringBuffer();
      if (op.getEType() != null) {
          buff.append("return ");
      }
      buff.append(getExtensionClassName(op)).append(".");
      buff.append(op.getName());
      buff.append("(");
      final List<EParameter> params = op.getEParameters();
      for (final Iterator<EParameter> iter = params.iterator(); iter.hasNext();) {
          final EParameter element = iter.next();
    buff.append(element.getName());
}
      return buff.append("this);").toString();
  }
项目:clickwatch    文件:EOperationImpl.java   
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public EList<EParameter> getEParameters()
{
  if (eParameters == null)
  {
    eParameters = new EObjectContainmentWithInverseEList<EParameter>(EParameter.class, this, EcorePackage.EOPERATION__EPARAMETERS, EcorePackage.EPARAMETER__EOPERATION);
  }
  return eParameters;
}
项目:clickwatch    文件:EPackageImpl.java   
private EParameter internalAddEParameter(EOperation owner, EClassifier type, String name)
{
  EParameter p = ecoreFactory.createEParameter();
  p.setEType(type);
  p.setName(name);
  owner.getEParameters().add(p);
  return p;
}
项目:clickwatch    文件:EPackageImpl.java   
protected EParameter addEParameter(EOperation owner, EClassifier type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
{
  EParameter p = internalAddEParameter(owner, type, name);
  p.setLowerBound(lowerBound);
  p.setUpperBound(upperBound);
  p.setUnique(isUnique);
  p.setOrdered(isOrdered);
  return p;
}
项目:clickwatch    文件:EPackageImpl.java   
@Deprecated
protected void addEParameter(EOperation owner, EGenericType type, String name, int lowerBound, int upperBound)
{
  EParameter p = ecoreFactory.createEParameter();
  p.setEGenericType(type);
  p.setName(name);
  owner.getEParameters().add(p);
  p.setLowerBound(lowerBound);
  p.setUpperBound(upperBound);
}
项目:clickwatch    文件:EPackageImpl.java   
protected void addEParameter(EOperation owner, EGenericType type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
{
  EParameter p = ecoreFactory.createEParameter();
  p.setEGenericType(type);
  p.setName(name);
  owner.getEParameters().add(p);
  p.setLowerBound(lowerBound);
  p.setUpperBound(upperBound);
  p.setUnique(isUnique);
  p.setOrdered(isOrdered);
}
项目:emf-rest    文件:IdentificationResolver.java   
public static org.eclipse.emf.ecore.EParameter findEParameterById(java.util.List<org.eclipse.emf.ecore.EParameter> list, String id){
        for (EParameter obji : list) {
        if (getEParameterId(obji).equals(id))
            return obji;
    }
    return null;
}
项目:MMINT    文件:MIDOCLFactory.java   
/**
 * @generated
 */
private static void initCustomEnv(
        Environment<?, EClassifier, ?, ?, ?, EParameter, ?, ?, ?, ?, ?, ?> ecoreEnv,
        Map<String, EClassifier> environment) {
    // Use EObject as implicit root class for any object, to allow eContainer() and other EObject operations from OCL expressions
    ParsingOptions
        .setOption(ecoreEnv, ParsingOptions.implicitRootClass(ecoreEnv), EcorePackage.eINSTANCE.getEObject());
    for (String varName : environment.keySet()) {
        EClassifier varType = environment.get(varName);
        ecoreEnv.addElement(varName, createVar(ecoreEnv, varName, varType), false);
    }
}
项目:MMINT    文件:MIDOCLFactory.java   
/**
* @generated
*/
private static void initCustomEnv(Environment<?, EClassifier, ?, ?, ?, EParameter, ?, ?, ?, ?, ?, ?> ecoreEnv,
        Map<String, EClassifier> environment) {
    // Use EObject as implicit root class for any object, to allow eContainer() and other EObject operations from OCL expressions
    ParsingOptions.setOption(ecoreEnv, ParsingOptions.implicitRootClass(ecoreEnv),
            EcorePackage.eINSTANCE.getEObject());
    for (String varName : environment.keySet()) {
        EClassifier varType = environment.get(varName);
        ecoreEnv.addElement(varName, createVar(ecoreEnv, varName, varType), false);
    }
}
项目:emfviews    文件:OclforEmfDelegate.java   
public void createViewFilterLinks() {
  for (Filter viewpointFilter : viewpointFilters) {
    // Part 1: Execute the ocl query.
    if (!viewpointFilter.isFilterOnlyEstructuralFeatures()) {
      String oclQuery = viewpointFilter.getOclQuery();
      OCL<EPackage, EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter,
          EObject, CallOperationAction, SendSignalAction, org.eclipse.ocl.ecore.Constraint,
          EClass, EObject> ocl;
      ocl = OCL.newInstance(EcoreEnvironmentFactory.INSTANCE);

      // create an OCL helper object
      helper = ocl.createOCLHelper();
      try {
        // En el caso que el query sea un allInstances toca crear un extentMap
        // para su evaluacion. (Lo que pasa es que en el caso que estoy usando
        // no hay condiciones que se apliquen sobre el allInstances)
        // TODO El extentMap se necesita solo si el ocl es un allInstances.
        ocl.setExtentMap(createExtentMapHelper(viewpointFilter));

        OCLExpression<EClassifier> parsedQuery = helper.createQuery(oclQuery);
        Query<EClassifier, EClass, EObject> theQueryCreatedByOcl = ocl.createQuery(parsedQuery);
        Object objectsToFilter = theQueryCreatedByOcl.evaluate();
        if (objectsToFilter instanceof Collection) {
          Collection<EObject> objs = (Collection<EObject>) objectsToFilter;
          createFilterLinks(objs, viewpointFilter);
        } else if (objectsToFilter instanceof EObject) {
          createFilterLink((EObject) objectsToFilter, viewpointFilter);
        }

        // Part 2: Generate the link.

      } catch (ParserException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }

  }
}
项目:anatlyzer    文件:OCLtoATL.java   
private VariableDeclaration transform(
        Variable<EClassifier, EParameter> variable) {
    System.err.println("Not done yet");
    return null;
}
项目:anatlyzer    文件:OCLtoATL.java   
public void bind(Variable<EClassifier, EParameter> v1, VariableDeclaration tgt) {
    vars.put(v1, tgt);
}
项目:anatlyzer    文件:OCLtoATL.java   
public VariableDeclaration get(Variable<EClassifier, EParameter> v1) {
    if ( ! vars.containsKey(v1))
        throw new IllegalStateException("No var: " + v1);
    return vars.get(v1);
}
项目:EMFtoCSP    文件:EOperationAdapter.java   
@Override
public abstract EList<EParameter> getEParameters();
项目:EMFtoCSP    文件:EResourceUMLAdapter.java   
public EResourceUMLAdapter(UMLResource newResource) {
    super(newResource);
    loadedClasses = new BasicEList<EClassifier>();
    loadedParameters = new BasicEList<EParameter>();
}
项目:EMFtoCSP    文件:OclToEcl.java   
public static OclToEcl getInstance(ILogger logger) {
  Environment<EPackage, EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint, EClass, EObject> auxEnv = EcoreEnvironmentFactory.INSTANCE.createEnvironment();    
  return new OclToEcl(auxEnv, logger);
}
项目:EMFtoCSP    文件:OclToEcl.java   
public static OclToEcl getInstance(
    Environment<?, EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint, ?, ?> env, ILogger logger) {
  return new OclToEcl(env, logger);
}
项目:EMFtoCSP    文件:OclToEcl.java   
protected OclToEcl(Environment<?, EClassifier, EOperation, EStructuralFeature, EEnumLiteral, EParameter, EObject, CallOperationAction, SendSignalAction, Constraint, ?, ?> env, ILogger logger) {
  this.env = env;
  uml = (env == null) ? null : env.getUMLReflection();
  this.logger = logger;
}
项目:EMFtoCSP    文件:OclToEcl.java   
@Override
protected String handleVariable(Variable<EClassifier, EParameter> variable, String initResult) {
  return "";
}
项目:eclipse-avro    文件:EOperationImpl.java   
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
  switch (featureID)
  {
    case EcorePackage.EOPERATION__EANNOTATIONS:
      getEAnnotations().clear();
      getEAnnotations().addAll((Collection<? extends EAnnotation>)newValue);
      return;
    case EcorePackage.EOPERATION__NAME:
      setName((String)newValue);
      return;
    case EcorePackage.EOPERATION__ORDERED:
      setOrdered((Boolean)newValue);
      return;
    case EcorePackage.EOPERATION__UNIQUE:
      setUnique((Boolean)newValue);
      return;
    case EcorePackage.EOPERATION__LOWER_BOUND:
      setLowerBound((Integer)newValue);
      return;
    case EcorePackage.EOPERATION__UPPER_BOUND:
      setUpperBound((Integer)newValue);
      return;
    case EcorePackage.EOPERATION__ETYPE:
      setEType((EClassifier)newValue);
      return;
    case EcorePackage.EOPERATION__EGENERIC_TYPE:
      setEGenericType((EGenericType)newValue);
      return;
    case EcorePackage.EOPERATION__ETYPE_PARAMETERS:
      getETypeParameters().clear();
      getETypeParameters().addAll((Collection<? extends ETypeParameter>)newValue);
      return;
    case EcorePackage.EOPERATION__EPARAMETERS:
      getEParameters().clear();
      getEParameters().addAll((Collection<? extends EParameter>)newValue);
      return;
    case EcorePackage.EOPERATION__EEXCEPTIONS:
      getEExceptions().clear();
      getEExceptions().addAll((Collection<? extends EClassifier>)newValue);
      return;
    case EcorePackage.EOPERATION__EGENERIC_EXCEPTIONS:
      getEGenericExceptions().clear();
      getEGenericExceptions().addAll((Collection<? extends EGenericType>)newValue);
      return;
  }
  eDynamicSet(featureID, newValue);
}