Пример #1
0
 protected Type resolveWildcardType(@NonNull EGenericType eGenericType) {
   assert eGenericType.getETypeArguments().isEmpty();
   assert eGenericType.getEClassifier() == null;
   EClassifier eClassifier = eGenericType.getERawType();
   assert eClassifier == EcorePackage.Literals.EJAVA_OBJECT;
   /*			WildcardTypeRefCS csTypeRef = BaseCSFactory.eINSTANCE.createWildcardTypeRefCS();
   			setOriginalMapping(csTypeRef, eObject);
   //			csTypeRef.setExtends(doSwitchAll(eGenericType.getExtends()));
   //			csTypeRef.setSuper(doSwitchAll(eGenericType.getSuper()));
   			return csTypeRef; */
   return metamodelManager.createWildcardType(null, null); // FIXME bounds
   /*		org.eclipse.ocl.pivot.Class pivotElement = PivotFactory.eINSTANCE.createClass();
   String name = PivotConstants.WILDCARD_NAME;
   EStructuralFeature eFeature = eGenericType.eContainmentFeature();
   if ((eFeature != null) && eFeature.isMany()) {
   	EObject eContainer = eGenericType.eContainer();
   	List<?> list = (List<?>)eContainer.eGet(eGenericType.eContainingFeature());
   	int index = list.indexOf(eGenericType);
   	if (index != 0) {
   		name += index;
   	}
   }
   pivotElement.setName(name);
   return pivotElement; */
 }
 /**
  * This returns EGenericType.gif.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 public Object getImage(Object object) {
   EGenericType eGenericType = (EGenericType) object;
   EReference eContainmentFeature = eGenericType.eContainmentFeature();
   return overlayImage(
       object,
       getResourceLocator()
           .getImage(
               eContainmentFeature == EcorePackage.Literals.ECLASS__EGENERIC_SUPER_TYPES
                   ? "full/obj16/EGenericSuperType"
                   : eContainmentFeature == EcorePackage.Literals.ETYPED_ELEMENT__EGENERIC_TYPE
                       ? "full/obj16/EGenericElementType"
                       : eContainmentFeature
                               == EcorePackage.Literals.EOPERATION__EGENERIC_EXCEPTIONS
                           ? "full/obj16/EGenericException"
                           : eContainmentFeature
                                   == EcorePackage.Literals.EGENERIC_TYPE__ETYPE_ARGUMENTS
                               ? "full/obj16/EGenericTypeArgument"
                               : eContainmentFeature
                                           == EcorePackage.Literals.EGENERIC_TYPE__ELOWER_BOUND
                                       || eContainmentFeature
                                           == EcorePackage.Literals.EGENERIC_TYPE__EUPPER_BOUND
                                   ? "full/obj16/EGenericWildcard"
                                   : "full/obj16/EGenericType"));
 }
Пример #3
0
 protected Type resolveType(
     @NonNull Map<String, Type> resolvedSpecializations, @NonNull EGenericType eGenericType) {
   Type pivotType = getCreated(Type.class, eGenericType);
   if (pivotType != null) {
     return pivotType;
   }
   EClassifier eClassifier = eGenericType.getEClassifier();
   ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
   List<EGenericType> eTypeArguments = eGenericType.getETypeArguments();
   if (eTypeParameter != null) {
     pivotType = resolveTypeParameter(eGenericType);
   } else if (eClassifier == null) {
     pivotType = resolveWildcardType(eGenericType);
   } else if (!eTypeArguments.isEmpty()) {
     String ecoreMoniker = Ecore2Moniker.toString(eGenericType);
     pivotType = resolvedSpecializations.get(ecoreMoniker);
     if (pivotType == null) {
       pivotType = resolveGenericType(resolvedSpecializations, eGenericType);
       resolvedSpecializations.put(ecoreMoniker, pivotType);
     }
   } else if (eClassifier instanceof EDataType) {
     assert eGenericType.getETypeArguments().isEmpty();
     pivotType = resolveDataType((EDataType) eClassifier);
   } else {
     assert eGenericType.getETypeArguments().isEmpty();
     pivotType = resolveSimpleType(eClassifier);
   }
   if (pivotType != null) {
     newCreateMap.put(eGenericType, pivotType);
   }
   return pivotType;
 }
Пример #4
0
 protected Type resolveTypeParameter(@NonNull EGenericType eGenericType) {
   EClassifier eClassifier = eGenericType.getEClassifier();
   ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
   List<EGenericType> eTypeArguments = eGenericType.getETypeArguments();
   assert eClassifier == null;
   assert eTypeArguments.isEmpty();
   Type pivotType = null;
   if (eTypeParameter != null) {
     pivotType = getCreated(Type.class, eTypeParameter);
   }
   return pivotType;
 }
 static String getText(EGenericType eGenericType) {
   ETypeParameter eTypeParameter = eGenericType.getETypeParameter();
   if (eTypeParameter != null) {
     String name = eTypeParameter.getName();
     return name == null ? "null" : name;
   } else {
     EClassifier eClassifier = eGenericType.getEClassifier();
     if (eClassifier != null) {
       List<EGenericType> eTypeArguments = eGenericType.getETypeArguments();
       if (eTypeArguments.isEmpty()) {
         String name = eClassifier.getName();
         return name == null ? "null" : name;
       } else {
         StringBuilder result = new StringBuilder();
         result.append(eClassifier.getName());
         result.append('<');
         for (Iterator<EGenericType> i = eTypeArguments.iterator(); ; ) {
           result.append(getText(i.next()));
           if (i.hasNext()) {
             result.append(", ");
           } else {
             break;
           }
         }
         result.append('>');
         return result.toString();
       }
     } else {
       EGenericType eUpperBound = eGenericType.getEUpperBound();
       if (eUpperBound != null) {
         return "? extends " + getText(eUpperBound);
       } else {
         EGenericType eLowerBound = eGenericType.getELowerBound();
         if (eLowerBound != null) {
           return "? super " + getText(eLowerBound);
         } else {
           return "?";
         }
       }
     }
   }
 }
  /**
   * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that
   * can be created under this object.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated NOT
   */
  @Override
  protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
    super.collectNewChildDescriptors(newChildDescriptors, object);

    EGenericType eGenericType = (EGenericType) object;

    if (eGenericType.eContainmentFeature() == EcorePackage.Literals.EGENERIC_TYPE__ETYPE_ARGUMENTS
        && eGenericType.getEClassifier() == null
        && eGenericType.getETypeParameter() == null) {
      newChildDescriptors.add(
          createChildParameter(
              EcorePackage.Literals.EGENERIC_TYPE__EUPPER_BOUND,
              EcoreFactory.eINSTANCE.createEGenericType()));
      newChildDescriptors.add(
          createChildParameter(
              EcorePackage.Literals.EGENERIC_TYPE__ELOWER_BOUND,
              EcoreFactory.eINSTANCE.createEGenericType()));
    }

    if (eGenericType.getEClassifier() != null
        && !eGenericType.getEClassifier().getETypeParameters().isEmpty()) {
      newChildDescriptors.add(
          createChildParameter(
              EcorePackage.Literals.EGENERIC_TYPE__ETYPE_ARGUMENTS,
              EcoreFactory.eINSTANCE.createEGenericType()));
    }
  }
Пример #7
0
 protected Type resolveGenericType(
     @NonNull Map<String, Type> resolvedSpecializations, @NonNull EGenericType eGenericType) {
   List<EGenericType> eTypeArguments = eGenericType.getETypeArguments();
   assert !eGenericType.getETypeArguments().isEmpty();
   EClassifier eClassifier = eGenericType.getEClassifier();
   List<ETypeParameter> eTypeParameters = eClassifier.getETypeParameters();
   assert eTypeParameters.size() == eTypeArguments.size();
   Type unspecializedPivotType = getASType(eClassifier);
   if (unspecializedPivotType == null) {
     return null;
   }
   List<@NonNull Type> templateArguments = new ArrayList<@NonNull Type>();
   for (EGenericType eTypeArgument : eTypeArguments) {
     if (eTypeArgument != null) {
       Type typeArgument = resolveType(resolvedSpecializations, eTypeArgument);
       if (typeArgument != null) {
         templateArguments.add(typeArgument);
       }
     }
   }
   org.eclipse.ocl.pivot.Class unspecializedPivotClass = unspecializedPivotType.isClass();
   assert unspecializedPivotClass != null; // FIXME
   return metamodelManager.getLibraryType(unspecializedPivotClass, templateArguments);
 }
 protected void handleEGenericType(
     EGenericType genericType, Set<EPackage> visitedPackages, Set<Object> visited) {
   if (genericType != null && visited.add(genericType)) {
     handleEClassifier(genericType.getEClassifier(), visitedPackages, visited);
     handleEClassifier(genericType.getERawType(), visitedPackages, visited);
     handleEGenericType(genericType.getELowerBound(), visitedPackages, visited);
     handleEGenericType(genericType.getEUpperBound(), visitedPackages, visited);
     handleEGenericTypes(genericType.getETypeArguments(), visitedPackages, visited);
     handleETypeParameter(genericType.getETypeParameter(), visitedPackages, visited);
   }
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 @Override
 protected EStructuralFeature getChildFeature(Object object, Object child) {
   EGenericType eGenericType = (EGenericType) object;
   if (child instanceof EObject) {
     EObject eObject = (EObject) child;
     if (eObject.eContainer() == eGenericType) {
       // If it's really a contained child, return the feature for it.
       //
       return eObject.eContainingFeature();
     }
   }
   if (eGenericType.getEClassifier() != null) {
     // You can only add type arguments if there are type parameters not yet used up.
     //
     return eGenericType.getETypeArguments().size()
             < eGenericType.getEClassifier().getETypeParameters().size()
         ? EcorePackage.Literals.EGENERIC_TYPE__ETYPE_ARGUMENTS
         : null;
   } else if (eGenericType.getETypeParameter() != null) {
     // You cannot add any children for a type parameter.
     //
     return null;
   } else if (eGenericType.eContainer() instanceof EGenericType) {
     // Only if you are contained by a generic type can you have bounds,
     // and only if there is no classifier or type parameter
     // and in that case the lower bound is returned only if that's the one that's set.
     //
     return eGenericType.getELowerBound() != null
         ? EcorePackage.Literals.EGENERIC_TYPE__EUPPER_BOUND
         : EcorePackage.Literals.EGENERIC_TYPE__EUPPER_BOUND;
   } else {
     // Otherwise you can't make it a child.
     //
     return null;
   }
 }
  /**
   * Complete the initialization of the package and its meta-model. This method is guarded to have
   * no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  public void initializePackageContents() {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Obtain other dependent packages
    Entity_avPackage theEntity_avPackage =
        (Entity_avPackage) EPackage.Registry.INSTANCE.getEPackage(Entity_avPackage.eNS_URI);
    Composition_avPackage theComposition_avPackage =
        (Composition_avPackage)
            EPackage.Registry.INSTANCE.getEPackage(Composition_avPackage.eNS_URI);
    Stoex_avPackage theStoex_avPackage =
        (Stoex_avPackage) EPackage.Registry.INSTANCE.getEPackage(Stoex_avPackage.eNS_URI);
    Usagemodel_avPackage theUsagemodel_avPackage =
        (Usagemodel_avPackage) EPackage.Registry.INSTANCE.getEPackage(Usagemodel_avPackage.eNS_URI);
    Repository_avPackage theRepository_avPackage =
        (Repository_avPackage) EPackage.Registry.INSTANCE.getEPackage(Repository_avPackage.eNS_URI);
    Parameter_avPackage theParameter_avPackage =
        (Parameter_avPackage) EPackage.Registry.INSTANCE.getEPackage(Parameter_avPackage.eNS_URI);
    Seff_performance_avPackage theSeff_performance_avPackage =
        (Seff_performance_avPackage)
            EPackage.Registry.INSTANCE.getEPackage(Seff_performance_avPackage.eNS_URI);
    Seff_avPackage theSeff_avPackage =
        (Seff_avPackage) EPackage.Registry.INSTANCE.getEPackage(Seff_avPackage.eNS_URI);
    Qos_performance_avPackage theQos_performance_avPackage =
        (Qos_performance_avPackage)
            EPackage.Registry.INSTANCE.getEPackage(Qos_performance_avPackage.eNS_URI);
    Resourceenvironment_avPackage theResourceenvironment_avPackage =
        (Resourceenvironment_avPackage)
            EPackage.Registry.INSTANCE.getEPackage(Resourceenvironment_avPackage.eNS_URI);

    // Add subpackages
    getESubpackages().add(theEntity_avPackage);
    getESubpackages().add(theComposition_avPackage);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes
    pcmRandomVariableEClass.getESuperTypes().add(theStoex_avPackage.getRandomVariable());

    // Initialize classes and features; add operations and parameters
    initEClass(
        pcmRandomVariableEClass,
        PCMRandomVariable.class,
        "PCMRandomVariable",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getPCMRandomVariable_ClosedWorkload_PCMRandomVariable(),
        theUsagemodel_avPackage.getClosedWorkload(),
        theUsagemodel_avPackage.getClosedWorkload_ThinkTime_ClosedWorkload(),
        "closedWorkload_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_PassiveResource_capacity_PCMRandomVariable(),
        theRepository_avPackage.getPassiveResource(),
        theRepository_avPackage.getPassiveResource_Capacity_PassiveResource(),
        "passiveResource_capacity_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_VariableCharacterisation_Specification(),
        theParameter_avPackage.getVariableCharacterisation(),
        theParameter_avPackage.getVariableCharacterisation_Specification_VariableCharacterisation(),
        "variableCharacterisation_Specification",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_InfrastructureCall__PCMRandomVariable(),
        theSeff_performance_avPackage.getInfrastructureCall(),
        theSeff_performance_avPackage.getInfrastructureCall_NumberOfCalls__InfrastructureCall(),
        "infrastructureCall__PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_ResourceCall__PCMRandomVariable(),
        theSeff_performance_avPackage.getResourceCall(),
        theSeff_performance_avPackage.getResourceCall_NumberOfCalls__ResourceCall(),
        "resourceCall__PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_ParametricResourceDemand_PCMRandomVariable(),
        theSeff_performance_avPackage.getParametricResourceDemand(),
        theSeff_performance_avPackage
            .getParametricResourceDemand_Specification_ParametericResourceDemand(),
        "parametricResourceDemand_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_LoopAction_PCMRandomVariable(),
        theSeff_avPackage.getLoopAction(),
        theSeff_avPackage.getLoopAction_IterationCount_LoopAction(),
        "loopAction_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_GuardedBranchTransition_PCMRandomVariable(),
        theSeff_avPackage.getGuardedBranchTransition(),
        theSeff_avPackage.getGuardedBranchTransition_BranchCondition_GuardedBranchTransition(),
        "guardedBranchTransition_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_SpecifiedExecutionTime_PCMRandomVariable(),
        theQos_performance_avPackage.getSpecifiedExecutionTime(),
        theQos_performance_avPackage
            .getSpecifiedExecutionTime_Specification_SpecifiedExecutionTime(),
        "specifiedExecutionTime_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_EventChannelSinkConnector__FilterCondition(),
        theComposition_avPackage.getEventChannelSinkConnector(),
        theComposition_avPackage
            .getEventChannelSinkConnector_FilterCondition__EventChannelSinkConnector(),
        "eventChannelSinkConnector__FilterCondition",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_AssemblyEventConnector__FilterCondition(),
        theComposition_avPackage.getAssemblyEventConnector(),
        theComposition_avPackage
            .getAssemblyEventConnector_FilterCondition__AssemblyEventConnector(),
        "assemblyEventConnector__FilterCondition",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_Loop_LoopIteration(),
        theUsagemodel_avPackage.getLoop(),
        theUsagemodel_avPackage.getLoop_LoopIteration_Loop(),
        "loop_LoopIteration",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_OpenWorkload_PCMRandomVariable(),
        theUsagemodel_avPackage.getOpenWorkload(),
        theUsagemodel_avPackage.getOpenWorkload_InterArrivalTime_OpenWorkload(),
        "openWorkload_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_Delay_TimeSpecification(),
        theUsagemodel_avPackage.getDelay(),
        theUsagemodel_avPackage.getDelay_TimeSpecification_Delay(),
        "delay_TimeSpecification",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_CommunicationLinkResourceSpecifcation_throughput_PCMRandomVariable(),
        theResourceenvironment_avPackage.getCommunicationLinkResourceSpecification(),
        theResourceenvironment_avPackage
            .getCommunicationLinkResourceSpecification_Throughput_CommunicationLinkResourceSpecification(),
        "communicationLinkResourceSpecifcation_throughput_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_ProcessingResourceSpecification_processingRate_PCMRandomVariable(),
        theResourceenvironment_avPackage.getProcessingResourceSpecification(),
        theResourceenvironment_avPackage
            .getProcessingResourceSpecification_ProcessingRate_ProcessingResourceSpecification(),
        "processingResourceSpecification_processingRate_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);
    initEReference(
        getPCMRandomVariable_CommunicationLinkResourceSpecification_latency_PCMRandomVariable(),
        theResourceenvironment_avPackage.getCommunicationLinkResourceSpecification(),
        theResourceenvironment_avPackage
            .getCommunicationLinkResourceSpecification_Latency_CommunicationLinkResourceSpecification(),
        "communicationLinkResourceSpecification_latency_PCMRandomVariable",
        null,
        0,
        1,
        PCMRandomVariable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);

    EOperation op =
        addEOperation(
            pcmRandomVariableEClass,
            ecorePackage.getEBoolean(),
            "SpecificationMustNotBeNULL",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(
        op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
    EGenericType g1 = createEGenericType(ecorePackage.getEMap());
    EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);

    // Create annotations
    // http://www.eclipse.org/uml2/1.1.0/GenModel
    createGenModel_1Annotations();
  }
Пример #11
0
  /**
   * Complete the initialization of the package and its meta-model. This method is guarded to have
   * no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  public void initializePackageContents() {
    if (isInitialized) {
      return;
    }
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Obtain other dependent packages
    final VCategorizationPackage theCategorizationPackage =
        (VCategorizationPackage)
            EPackage.Registry.INSTANCE.getEPackage(VCategorizationPackage.eNS_URI);
    final EcorePackage theEcorePackage =
        (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
    final VViewPackage theViewPackage =
        (VViewPackage) EPackage.Registry.INSTANCE.getEPackage(VViewPackage.eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes
    dynamicContainmentTreeEClass.getESuperTypes().add(theCategorizationPackage.getCategory());
    dynamicContainmentItemEClass
        .getESuperTypes()
        .add(theCategorizationPackage.getCategorizableElement());
    testElementEClass.getESuperTypes().add(theEcorePackage.getEObject());
    dynamicContainmentTreeDomainModelReferenceEClass
        .getESuperTypes()
        .add(theViewPackage.getDomainModelReference());

    // Initialize classes and features; add operations and parameters
    initEClass(
        dynamicContainmentTreeEClass,
        DynamicContainmentTree.class,
        "DynamicContainmentTree",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getDynamicContainmentTree_DomainModel(),
        ecorePackage.getEObject(),
        null,
        "domainModel",
        null,
        0,
        1,
        DynamicContainmentTree.class,
        IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentTree_ChildReference(),
        theEcorePackage.getEReference(),
        null,
        "childReference",
        null,
        1,
        1,
        DynamicContainmentTree.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentTree_PathToRoot(),
        theEcorePackage.getEReference(),
        null,
        "pathToRoot",
        null,
        0,
        -1,
        DynamicContainmentTree.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentTree_ChildComposite(),
        theViewPackage.getContainedElement(),
        null,
        "childComposite",
        null,
        0,
        1,
        DynamicContainmentTree.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentTree_Items(),
        getDynamicContainmentItem(),
        null,
        "items",
        null,
        0,
        -1,
        DynamicContainmentTree.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        dynamicContainmentItemEClass,
        DynamicContainmentItem.class,
        "DynamicContainmentItem",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getDynamicContainmentItem_DomainModel(),
        ecorePackage.getEObject(),
        null,
        "domainModel",
        null,
        0,
        1,
        DynamicContainmentItem.class,
        IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentItem_Items(),
        getDynamicContainmentItem(),
        null,
        "items",
        null,
        0,
        -1,
        DynamicContainmentItem.class,
        IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentItem_Composite(),
        theViewPackage.getContainedElement(),
        null,
        "composite",
        null,
        0,
        1,
        DynamicContainmentItem.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getDynamicContainmentItem_BaseItemIndex(),
        theEcorePackage.getEIntegerObject(),
        "baseItemIndex",
        null,
        0,
        1,
        DynamicContainmentItem.class,
        IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        testElementEClass,
        TestElement.class,
        "TestElement",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getTestElement_Id(),
        theEcorePackage.getEString(),
        "id",
        null,
        0,
        1,
        TestElement.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getTestElement_Elements(),
        getTestElement(),
        null,
        "elements",
        null,
        0,
        -1,
        TestElement.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getTestElement_ParentId(),
        theEcorePackage.getEString(),
        "parentId",
        null,
        0,
        1,
        TestElement.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getTestElement_Name(),
        theEcorePackage.getEString(),
        "name",
        null,
        0,
        1,
        TestElement.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    final EOperation op =
        addEOperation(
            testElementEClass,
            theEcorePackage.getEBoolean(),
            "validate",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(
        op, theEcorePackage.getEDiagnosticChain(), "diagnostic", 0, 1, IS_UNIQUE, IS_ORDERED);
    final EGenericType g1 = createEGenericType(theEcorePackage.getEMap());
    EGenericType g2 = createEGenericType();
    g1.getETypeArguments().add(g2);
    g2 = createEGenericType();
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        domainRootEClass,
        DomainRoot.class,
        "DomainRoot",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getDomainRoot_Intermediate(),
        getDomainIntermediate(),
        null,
        "intermediate",
        null,
        0,
        1,
        DomainRoot.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        domainIntermediateEClass,
        DomainIntermediate.class,
        "DomainIntermediate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getDomainIntermediate_TestElementContainer(),
        getTestElementContainer(),
        null,
        "testElementContainer",
        null,
        0,
        1,
        DomainIntermediate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        testElementContainerEClass,
        TestElementContainer.class,
        "TestElementContainer",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getTestElementContainer_TestElements(),
        getTestElement(),
        null,
        "testElements",
        null,
        0,
        -1,
        TestElementContainer.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getTestElementContainer_Id(),
        theEcorePackage.getEString(),
        "id",
        null,
        0,
        1,
        TestElementContainer.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        dynamicContainmentTreeDomainModelReferenceEClass,
        DynamicContainmentTreeDomainModelReference.class,
        "DynamicContainmentTreeDomainModelReference",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getDynamicContainmentTreeDomainModelReference_PathFromRoot(),
        theViewPackage.getDomainModelReference(),
        null,
        "pathFromRoot",
        null,
        0,
        1,
        DynamicContainmentTreeDomainModelReference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getDynamicContainmentTreeDomainModelReference_PathFromBase(),
        theViewPackage.getDomainModelReference(),
        null,
        "pathFromBase",
        null,
        1,
        1,
        DynamicContainmentTreeDomainModelReference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    // Create resource
    createResource(eNS_URI);
  }
  /**
   * Complete the initialization of the package and its meta-model. This method is guarded to have
   * no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  public void initializePackageContents() {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Obtain other dependent packages
    TypesPackage theTypesPackage =
        (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes
    iContactEClass.getESuperTypes().add(this.getIdentifiable());
    iContactEClass.getESuperTypes().add(this.getDeleteable());
    iPersistentObjectEClass.getESuperTypes().add(this.getIdentifiable());
    iXidEClass.getESuperTypes().add(this.getIPersistentObject());
    EGenericType g1 = createEGenericType(theTypesPackage.getComparable());
    EGenericType g2 = createEGenericType(this.getISticker());
    g1.getETypeArguments().add(g2);
    iStickerEClass.getEGenericSuperTypes().add(g1);
    iPersonEClass.getESuperTypes().add(this.getIContact());
    iPatientEClass.getESuperTypes().add(this.getIPerson());
    iUserEClass.getESuperTypes().add(this.getIContact());

    // Initialize classes and features; add operations and parameters
    initEClass(
        iContactEClass,
        IContact.class,
        "IContact",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIContact_ContactType(),
        theTypesPackage.getContactType(),
        "contactType",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Mandator(),
        ecorePackage.getEBoolean(),
        "mandator",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_User(),
        ecorePackage.getEBoolean(),
        "user",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Patient(),
        ecorePackage.getEBoolean(),
        "patient",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Description1(),
        ecorePackage.getEString(),
        "description1",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Description2(),
        ecorePackage.getEString(),
        "description2",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Description3(),
        ecorePackage.getEString(),
        "description3",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Code(),
        ecorePackage.getEString(),
        "code",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Country(),
        theTypesPackage.getCountryCode(),
        "country",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Zip(),
        ecorePackage.getEString(),
        "zip",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_City(),
        ecorePackage.getEString(),
        "city",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Street(),
        ecorePackage.getEString(),
        "street",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Phone1(),
        ecorePackage.getEString(),
        "phone1",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Phone2(),
        ecorePackage.getEString(),
        "phone2",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Fax(),
        ecorePackage.getEString(),
        "fax",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Email(),
        ecorePackage.getEString(),
        "email",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Website(),
        ecorePackage.getEString(),
        "website",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Mobile(),
        ecorePackage.getEString(),
        "mobile",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIContact_Comment(),
        ecorePackage.getEString(),
        "comment",
        null,
        0,
        1,
        IContact.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        iPersistentObjectEClass,
        IPersistentObject.class,
        "IPersistentObject",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getIPersistentObject_Xid(),
        this.getIXid(),
        null,
        "xid",
        null,
        0,
        1,
        IPersistentObject.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        !IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getIPersistentObject_Xids(),
        this.getIXid(),
        null,
        "xids",
        null,
        0,
        -1,
        IPersistentObject.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    addEOperation(
        iPersistentObjectEClass,
        ecorePackage.getELong(),
        "getLastUpdate",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    addEOperation(
        iPersistentObjectEClass,
        ecorePackage.getEBoolean(),
        "isValid",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    addEOperation(
        iPersistentObjectEClass,
        ecorePackage.getEString(),
        "storeToString",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    addEOperation(
        iPersistentObjectEClass, ecorePackage.getEInt(), "state", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iPersistentObjectEClass, ecorePackage.getEBoolean(), "exists", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iPersistentObjectEClass,
        ecorePackage.getEBoolean(),
        "isAvailable",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    EOperation op =
        addEOperation(
            iPersistentObjectEClass,
            ecorePackage.getEString(),
            "getXid",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "domain", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            iPersistentObjectEClass,
            ecorePackage.getEBoolean(),
            "addXid",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "domain", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "domain_id", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEBoolean(), "updateIfExists", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            iPersistentObjectEClass,
            ecorePackage.getEBoolean(),
            "get",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(op, this.getStringArray(), "fields", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, this.getStringArray(), "values", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            iPersistentObjectEClass, ecorePackage.getEString(), "get", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "field", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            iPersistentObjectEClass,
            ecorePackage.getEBoolean(),
            "set",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "field", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "value", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        iXidEClass, IXid.class, "IXid", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIXid_Domain(),
        ecorePackage.getEString(),
        "domain",
        null,
        0,
        1,
        IXid.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        !IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIXid_DomainId(),
        ecorePackage.getEString(),
        "domainId",
        null,
        0,
        1,
        IXid.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        !IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getIXid_Object(),
        this.getIPersistentObject(),
        null,
        "object",
        null,
        0,
        1,
        IXid.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        !IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIXid_Quality(),
        ecorePackage.getEInt(),
        "quality",
        null,
        0,
        1,
        IXid.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        !IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIXid_GUID(),
        ecorePackage.getEBoolean(),
        "gUID",
        null,
        0,
        1,
        IXid.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        !IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        iCodeElementEClass,
        ICodeElement.class,
        "ICodeElement",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    addEOperation(
        iCodeElementEClass,
        ecorePackage.getEString(),
        "getCodeSystemName",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    addEOperation(
        iCodeElementEClass,
        ecorePackage.getEString(),
        "getCodeSystemCode",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    addEOperation(
        iCodeElementEClass, ecorePackage.getEString(), "getId", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iCodeElementEClass, ecorePackage.getEString(), "getCode", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iCodeElementEClass, ecorePackage.getEString(), "getText", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            iCodeElementEClass,
            ecorePackage.getEJavaObject(),
            "getActions",
            0,
            -1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(op, ecorePackage.getEJavaObject(), "context", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        iChangeListenerEClass,
        IChangeListener.class,
        "IChangeListener",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    op = addEOperation(iChangeListenerEClass, null, "valueChanged", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, this.getIPersistentObject(), "object", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEString(), "field", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEJavaObject(), "oldValue", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEJavaObject(), "newValue", 0, 1, IS_UNIQUE, IS_ORDERED);

    op = addEOperation(iChangeListenerEClass, null, "objectDisposing", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, this.getIPersistentObject(), "object", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        iStickerEClass,
        ISticker.class,
        "ISticker",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getISticker_Background(),
        ecorePackage.getEString(),
        "background",
        null,
        0,
        1,
        ISticker.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getISticker_Foreground(),
        ecorePackage.getEString(),
        "foreground",
        null,
        0,
        1,
        ISticker.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getISticker_Visible(),
        ecorePackage.getEBoolean(),
        "visible",
        null,
        0,
        1,
        ISticker.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    addEOperation(iStickerEClass, ecorePackage.getEString(), "getId", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iStickerEClass, ecorePackage.getEString(), "getLabel", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(iStickerEClass, ecorePackage.getEInt(), "getWert", 0, 1, IS_UNIQUE, IS_ORDERED);

    op = addEOperation(iStickerEClass, null, "setWert", 0, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, ecorePackage.getEInt(), "w", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iStickerEClass, ecorePackage.getEBoolean(), "delete", 0, 1, IS_UNIQUE, IS_ORDERED);

    op = addEOperation(iStickerEClass, null, "setClassForSticker", 0, 1, IS_UNIQUE, IS_ORDERED);
    g1 = createEGenericType(ecorePackage.getEJavaClass());
    g2 = createEGenericType();
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "clazz", 0, 1, IS_UNIQUE, IS_ORDERED);

    op = addEOperation(iStickerEClass, null, "removeClassForSticker", 0, 1, IS_UNIQUE, IS_ORDERED);
    g1 = createEGenericType(ecorePackage.getEJavaClass());
    g2 = createEGenericType();
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "clazz", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        iStickerEClass,
        ecorePackage.getEString(),
        "getClassesForSticker",
        0,
        -1,
        IS_UNIQUE,
        IS_ORDERED);

    initEClass(
        iPersonEClass,
        IPerson.class,
        "IPerson",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIPerson_DateOfBirth(),
        theTypesPackage.getTimeTool(),
        "dateOfBirth",
        null,
        0,
        1,
        IPerson.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPerson_Gender(),
        theTypesPackage.getContactGender(),
        "gender",
        null,
        0,
        1,
        IPerson.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPerson_Titel(),
        ecorePackage.getEString(),
        "titel",
        null,
        0,
        1,
        IPerson.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPerson_TitelSuffix(),
        ecorePackage.getEString(),
        "titelSuffix",
        null,
        0,
        1,
        IPerson.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        iPatientEClass,
        IPatient.class,
        "IPatient",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIPatient_Diagnosen(),
        ecorePackage.getEString(),
        "diagnosen",
        null,
        0,
        1,
        IPatient.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPatient_Risk(),
        ecorePackage.getEString(),
        "risk",
        null,
        0,
        1,
        IPatient.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPatient_FamilyAnamnese(),
        ecorePackage.getEString(),
        "familyAnamnese",
        null,
        0,
        1,
        IPatient.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPatient_PersonalAnamnese(),
        ecorePackage.getEString(),
        "personalAnamnese",
        null,
        0,
        1,
        IPatient.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPatient_Allergies(),
        ecorePackage.getEString(),
        "allergies",
        null,
        0,
        1,
        IPatient.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIPatient_PatientNr(),
        ecorePackage.getEString(),
        "patientNr",
        null,
        0,
        1,
        IPatient.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    addEOperation(
        iPatientEClass, ecorePackage.getEString(), "getPatientLabel", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        iUserEClass, IUser.class, "IUser", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIUser_Username(),
        ecorePackage.getEString(),
        "username",
        null,
        0,
        1,
        IUser.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getIUser_Password(),
        ecorePackage.getEString(),
        "password",
        null,
        0,
        1,
        IUser.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        identifiableEClass,
        Identifiable.class,
        "Identifiable",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    addEOperation(
        identifiableEClass, ecorePackage.getEString(), "getId", 0, 1, IS_UNIQUE, IS_ORDERED);

    addEOperation(
        identifiableEClass, ecorePackage.getEString(), "getLabel", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        deleteableEClass,
        Deleteable.class,
        "Deleteable",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getDeleteable_Deleted(),
        ecorePackage.getEBoolean(),
        "deleted",
        null,
        0,
        1,
        Deleteable.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    // Initialize data types
    initEDataType(
        stringArrayEDataType,
        String[].class,
        "StringArray",
        IS_SERIALIZABLE,
        !IS_GENERATED_INSTANCE_CLASS);

    // Create resource
    createResource(eNS_URI);
  }
  /**
   * Complete the initialization of the package and its meta-model. This method is guarded to have
   * no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  public void initializePackageContents() {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Obtain other dependent packages
    Qosannotations_pc_pcPackage theQosannotations_pc_pcPackage =
        (Qosannotations_pc_pcPackage)
            EPackage.Registry.INSTANCE.getEPackage(Qosannotations_pc_pcPackage.eNS_URI);
    Reliability_pc_pcPackage theReliability_pc_pcPackage =
        (Reliability_pc_pcPackage)
            EPackage.Registry.INSTANCE.getEPackage(Reliability_pc_pcPackage.eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes
    specifiedReliabilityAnnotationEClass
        .getESuperTypes()
        .add(theQosannotations_pc_pcPackage.getSpecifiedQoSAnnotation());

    // Initialize classes and features; add operations and parameters
    initEClass(
        specifiedReliabilityAnnotationEClass,
        SpecifiedReliabilityAnnotation.class,
        "SpecifiedReliabilityAnnotation",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getSpecifiedReliabilityAnnotation_ExternalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation(),
        theReliability_pc_pcPackage.getExternalFailureOccurrenceDescription(),
        theReliability_pc_pcPackage
            .getExternalFailureOccurrenceDescription_SpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription(),
        "externalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation",
        null,
        0,
        -1,
        SpecifiedReliabilityAnnotation.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        !IS_ORDERED);

    EOperation op =
        addEOperation(
            specifiedReliabilityAnnotationEClass,
            ecorePackage.getEBoolean(),
            "SpecifiedReliabilityAnnotationMustReferenceRequiredRoleOfASystem",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(
        op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
    EGenericType g1 = createEGenericType(ecorePackage.getEMap());
    EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            specifiedReliabilityAnnotationEClass,
            ecorePackage.getEBoolean(),
            "SumOfReliabilityAnnotationFailureProbabilitiesMustNotExceed1",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(
        op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
    g1 = createEGenericType(ecorePackage.getEMap());
    g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);

    op =
        addEOperation(
            specifiedReliabilityAnnotationEClass,
            ecorePackage.getEBoolean(),
            "MultipleExternalOccurrenceDescriptionsPerFailureTypeNotAllowed",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(
        op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);
    g1 = createEGenericType(ecorePackage.getEMap());
    g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    g2 = createEGenericType(ecorePackage.getEJavaObject());
    g1.getETypeArguments().add(g2);
    addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);

    // Create annotations
    // http://www.eclipse.org/uml2/1.1.0/GenModel
    createGenModel_1Annotations();
  }
Пример #14
0
  /**
   * Complete the initialization of the package and its meta-model. This method is guarded to have
   * no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  public void initializePackageContents() {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Create type parameters
    ETypeParameter equalPredicateEClass_T = addETypeParameter(equalPredicateEClass, "T");
    ETypeParameter intoPredicateEClass_T = addETypeParameter(intoPredicateEClass, "T");
    ETypeParameter iTypedPredicateEClass_T = addETypeParameter(iTypedPredicateEClass, "T");

    // Set bounds for type parameters
    EGenericType g1 = createEGenericType(ecorePackage.getEJavaObject());
    equalPredicateEClass_T.getEBounds().add(g1);

    // Add supertypes to classes
    compositePredicateEClass.getESuperTypes().add(this.getIListeningPredicate());
    customPredicateEClass.getESuperTypes().add(this.getIPredicate());
    equalPredicateEClass.getESuperTypes().add(this.getIPredicate());
    g1 = createEGenericType(this.getEqualPredicate());
    EGenericType g2 = createEGenericType(ecorePackage.getEString());
    g1.getETypeArguments().add(g2);
    stringEqualPredicateEClass.getEGenericSuperTypes().add(g1);
    g1 = createEGenericType(this.getEqualPredicate());
    g2 = createEGenericType(ecorePackage.getEDate());
    g1.getETypeArguments().add(g2);
    dateEqualPredicateEClass.getEGenericSuperTypes().add(g1);
    g1 = createEGenericType(this.getEqualPredicate());
    g2 = createEGenericType(ecorePackage.getEString());
    g1.getETypeArguments().add(g2);
    enumEqualPredicateEClass.getEGenericSuperTypes().add(g1);
    g1 = createEGenericType(this.getEqualPredicate());
    g2 = createEGenericType(ecorePackage.getEBooleanObject());
    g1.getETypeArguments().add(g2);
    booleanEqualPredicateEClass.getEGenericSuperTypes().add(g1);
    containsPatternPredicateEClass.getESuperTypes().add(this.getIPredicate());
    intoPredicateEClass.getESuperTypes().add(this.getIPredicate());
    g1 = createEGenericType(this.getIntoPredicate());
    g2 = createEGenericType(ecorePackage.getEString());
    g1.getETypeArguments().add(g2);
    stringIntoPredicateEClass.getEGenericSuperTypes().add(g1);
    g1 = createEGenericType(this.getIntoPredicate());
    g2 = createEGenericType(ecorePackage.getEString());
    g1.getETypeArguments().add(g2);
    enumIntoPredicateEClass.getEGenericSuperTypes().add(g1);
    andPredicateEClass.getESuperTypes().add(this.getCompositePredicate());
    orPredicateEClass.getESuperTypes().add(this.getCompositePredicate());
    notPredicateEClass.getESuperTypes().add(this.getCompositePredicate());
    compareNumberPredicateEClass.getESuperTypes().add(this.getIPredicate());
    iTypedPredicateEClass.getESuperTypes().add(this.getIPredicateContainer());
    g1 = createEGenericType(this.getITypedPredicate());
    g2 = createEGenericType(ecorePackage.getEAttribute());
    g1.getETypeArguments().add(g2);
    ieAttrPredicateEClass.getEGenericSuperTypes().add(g1);
    g1 = createEGenericType(this.getITypedPredicate());
    g2 = createEGenericType(ecorePackage.getEClassifier());
    g1.getETypeArguments().add(g2);
    ieClassifierPredicateEClass.getEGenericSuperTypes().add(g1);
    truePredicateEClass.getESuperTypes().add(this.getIPredicate());
    operationPredicateEClass.getESuperTypes().add(this.getIPredicateContainer());
    operationPredicateEClass.getESuperTypes().add(this.getIListeningPredicate());
    intParameterEClass.getESuperTypes().add(this.getParameter());
    booleanParameterEClass.getESuperTypes().add(this.getParameter());
    stringParameterEClass.getESuperTypes().add(this.getParameter());
    eObjectParameterEClass.getESuperTypes().add(this.getParameter());
    iPredicateContainerEClass.getESuperTypes().add(this.getIPredicate());
    isTypeOfPredicateEClass.getESuperTypes().add(this.getIPredicate());
    isNullPredicateEClass.getESuperTypes().add(this.getIPredicate());
    iListeningPredicateEClass.getESuperTypes().add(this.getIPredicate());

    // Initialize classes, features, and operations; add parameters
    initEClass(
        iPredicateEClass,
        IPredicate.class,
        "IPredicate",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIPredicate_DisplayName(),
        ecorePackage.getEString(),
        "displayName",
        null,
        0,
        1,
        IPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    EOperation op =
        initEOperation(
            getIPredicate__Match__Object(),
            ecorePackage.getEBoolean(),
            "match",
            0,
            1,
            IS_UNIQUE,
            IS_ORDERED);
    addEParameter(op, ecorePackage.getEJavaObject(), "input", 0, 1, IS_UNIQUE, IS_ORDERED);

    initEClass(
        compositePredicateEClass,
        CompositePredicate.class,
        "CompositePredicate",
        IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getCompositePredicate_Predicates(),
        this.getIPredicate(),
        null,
        "predicates",
        null,
        0,
        -1,
        CompositePredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        customPredicateEClass,
        CustomPredicate.class,
        "CustomPredicate",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        equalPredicateEClass,
        EqualPredicate.class,
        "EqualPredicate",
        IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    g1 = createEGenericType(equalPredicateEClass_T);
    initEAttribute(
        getEqualPredicate_Input(),
        g1,
        "input",
        null,
        0,
        1,
        EqualPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    g1 = createEGenericType(equalPredicateEClass_T);
    initEAttribute(
        getEqualPredicate_ExpectedObject(),
        g1,
        "expectedObject",
        null,
        0,
        1,
        EqualPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        stringEqualPredicateEClass,
        StringEqualPredicate.class,
        "StringEqualPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        dateEqualPredicateEClass,
        DateEqualPredicate.class,
        "DateEqualPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        enumEqualPredicateEClass,
        EnumEqualPredicate.class,
        "EnumEqualPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        booleanEqualPredicateEClass,
        BooleanEqualPredicate.class,
        "BooleanEqualPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        containsPatternPredicateEClass,
        ContainsPatternPredicate.class,
        "ContainsPatternPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getContainsPatternPredicate_Input(),
        this.getCharSequence(),
        "input",
        null,
        0,
        1,
        ContainsPatternPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getContainsPatternPredicate_ExpectedPattern(),
        this.getPattern(),
        "expectedPattern",
        null,
        0,
        1,
        ContainsPatternPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        intoPredicateEClass,
        IntoPredicate.class,
        "IntoPredicate",
        IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    g1 = createEGenericType(intoPredicateEClass_T);
    initEAttribute(
        getIntoPredicate_Input(),
        g1,
        "input",
        null,
        0,
        1,
        IntoPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    g1 = createEGenericType(intoPredicateEClass_T);
    initEAttribute(
        getIntoPredicate_AllowedEntries(),
        g1,
        "allowedEntries",
        null,
        0,
        -1,
        IntoPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        stringIntoPredicateEClass,
        StringIntoPredicate.class,
        "StringIntoPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        enumIntoPredicateEClass,
        EnumIntoPredicate.class,
        "EnumIntoPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        andPredicateEClass,
        AndPredicate.class,
        "AndPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        orPredicateEClass,
        OrPredicate.class,
        "OrPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        notPredicateEClass,
        NotPredicate.class,
        "NotPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        compareNumberPredicateEClass,
        CompareNumberPredicate.class,
        "CompareNumberPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getCompareNumberPredicate_Input(),
        this.getNumber(),
        "input",
        null,
        0,
        1,
        CompareNumberPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getCompareNumberPredicate_ExpectedValue(),
        this.getNumber(),
        "expectedValue",
        null,
        0,
        1,
        CompareNumberPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getCompareNumberPredicate_Operator(),
        this.getOPERATOR(),
        "operator",
        null,
        0,
        1,
        CompareNumberPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        iTypedPredicateEClass,
        ITypedPredicate.class,
        "ITypedPredicate",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    g1 = createEGenericType(iTypedPredicateEClass_T);
    initEReference(
        getITypedPredicate_TypedElement(),
        g1,
        null,
        "typedElement",
        null,
        0,
        1,
        ITypedPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        ieAttrPredicateEClass,
        IEAttrPredicate.class,
        "IEAttrPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        ieClassifierPredicateEClass,
        IEClassifierPredicate.class,
        "IEClassifierPredicate",
        IS_ABSTRACT,
        IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        truePredicateEClass,
        TruePredicate.class,
        "TruePredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        operationPredicateEClass,
        OperationPredicate.class,
        "OperationPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getOperationPredicate_OperationName(),
        ecorePackage.getEString(),
        "operationName",
        null,
        0,
        1,
        OperationPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getOperationPredicate_Parameters(),
        this.getParameter(),
        null,
        "parameters",
        null,
        0,
        -1,
        OperationPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        parameterEClass,
        Parameter.class,
        "Parameter",
        IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getParameter_Name(),
        ecorePackage.getEString(),
        "name",
        null,
        0,
        1,
        Parameter.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEOperation(
        getParameter__GetObjectValue(),
        ecorePackage.getEJavaObject(),
        "getObjectValue",
        0,
        1,
        IS_UNIQUE,
        IS_ORDERED);

    initEClass(
        intParameterEClass,
        IntParameter.class,
        "IntParameter",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIntParameter_Value(),
        ecorePackage.getEInt(),
        "value",
        null,
        0,
        1,
        IntParameter.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        booleanParameterEClass,
        BooleanParameter.class,
        "BooleanParameter",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getBooleanParameter_Value(),
        ecorePackage.getEBoolean(),
        "value",
        null,
        0,
        1,
        BooleanParameter.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        stringParameterEClass,
        StringParameter.class,
        "StringParameter",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getStringParameter_Value(),
        ecorePackage.getEString(),
        "value",
        null,
        0,
        1,
        StringParameter.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        eObjectParameterEClass,
        EObjectParameter.class,
        "EObjectParameter",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getEObjectParameter_Value(),
        ecorePackage.getEObject(),
        null,
        "value",
        null,
        0,
        1,
        EObjectParameter.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        iPredicateContainerEClass,
        IPredicateContainer.class,
        "IPredicateContainer",
        IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getIPredicateContainer_ResultPredicate(),
        this.getIPredicate(),
        null,
        "resultPredicate",
        null,
        0,
        1,
        IPredicateContainer.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        isTypeOfPredicateEClass,
        IsTypeOfPredicate.class,
        "IsTypeOfPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getIsTypeOfPredicate_IsStrictTypeOf(),
        ecorePackage.getEBoolean(),
        "isStrictTypeOf",
        null,
        0,
        1,
        IsTypeOfPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getIsTypeOfPredicate_Type(),
        ecorePackage.getEClass(),
        null,
        "type",
        null,
        0,
        1,
        IsTypeOfPredicate.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_COMPOSITE,
        IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        isNullPredicateEClass,
        IsNullPredicate.class,
        "IsNullPredicate",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEClass(
        iListeningPredicateEClass,
        IListeningPredicate.class,
        "IListeningPredicate",
        IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);

    initEOperation(
        getIListeningPredicate__GetObjectsToListen(),
        ecorePackage.getEJavaObject(),
        "getObjectsToListen",
        0,
        -1,
        IS_UNIQUE,
        IS_ORDERED);

    // Initialize enums and add enum literals
    initEEnum(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.class, "OPERATOR");
    addEEnumLiteral(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.EQ);
    addEEnumLiteral(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.NQ);
    addEEnumLiteral(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.GT);
    addEEnumLiteral(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.GET);
    addEEnumLiteral(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.LT);
    addEEnumLiteral(operatorEEnum, org.polarsys.reqcycle.predicates.core.api.OPERATOR.LET);

    // Initialize data types
    initEDataType(
        patternEDataType, Pattern.class, "Pattern", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
    initEDataType(
        charSequenceEDataType,
        CharSequence.class,
        "CharSequence",
        IS_SERIALIZABLE,
        !IS_GENERATED_INSTANCE_CLASS);
    initEDataType(
        numberEDataType, Number.class, "Number", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

    // Create resource
    createResource(eNS_URI);

    // Create annotations
    // www.eclipse.org/reqcycle/predicates/userInput
    createUserInputAnnotations();
    // www.eclipse.org/reqcycle/predicates/specificUserInput
    createSpecificUserInputAnnotations();
    // www.eclipse.org/reqcycle/predicates/input_javaclass_type
    createInput_javaclass_typeAnnotations();
    // www.eclipse.org/reqcycle/predicates/adaptInput
    createAdaptInputAnnotations();
  }
  /**
   * Complete the initialization of the package and its meta-model. This method is guarded to have
   * no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  public void initializePackageContents() {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Obtain other dependent packages
    XMLTypePackage theXMLTypePackage =
        (XMLTypePackage) EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes

    // Initialize classes and features; add operations and parameters
    initEClass(
        componentEClass,
        Component.class,
        "Component",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getComponent_Mixed(),
        ecorePackage.getEFeatureMapEntry(),
        "mixed",
        null,
        0,
        -1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        !IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Enabled(),
        ecorePackage.getEBoolean(),
        "enabled",
        "true",
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Factory(),
        ecorePackage.getEString(),
        "factory",
        null,
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Immediate(),
        ecorePackage.getEBoolean(),
        "immediate",
        null,
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Name(),
        ecorePackage.getEString(),
        "name",
        null,
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Activate(),
        ecorePackage.getEString(),
        "activate",
        null,
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Deactivate(),
        ecorePackage.getEString(),
        "deactivate",
        null,
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_Modified(),
        ecorePackage.getEString(),
        "modified",
        null,
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_ConfigurationPolicy(),
        this.getConfigurationPolicy(),
        "configurationPolicy",
        "optional",
        0,
        1,
        Component.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getComponent_Implementation(),
        this.getImplementation(),
        null,
        "implementation",
        null,
        1,
        1,
        Component.class,
        IS_TRANSIENT,
        IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getComponent_AllProperties(),
        ecorePackage.getEFeatureMapEntry(),
        "allProperties",
        null,
        0,
        -1,
        Component.class,
        IS_TRANSIENT,
        IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        !IS_UNIQUE,
        IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getComponent_Property(),
        this.getProperty(),
        null,
        "property",
        null,
        0,
        -1,
        Component.class,
        IS_TRANSIENT,
        IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getComponent_Properties(),
        this.getProperties(),
        null,
        "properties",
        null,
        0,
        -1,
        Component.class,
        IS_TRANSIENT,
        IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getComponent_Service(),
        this.getService(),
        null,
        "service",
        null,
        0,
        1,
        Component.class,
        IS_TRANSIENT,
        IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEReference(
        getComponent_Reference(),
        this.getReference(),
        null,
        "reference",
        null,
        0,
        -1,
        Component.class,
        IS_TRANSIENT,
        IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        implementationEClass,
        Implementation.class,
        "Implementation",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getImplementation_Class(),
        ecorePackage.getEString(),
        "class",
        null,
        1,
        1,
        Implementation.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        propertyEClass,
        Property.class,
        "Property",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getProperty_Value(),
        theXMLTypePackage.getString(),
        "value",
        null,
        0,
        1,
        Property.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getProperty_Name(),
        theXMLTypePackage.getString(),
        "name",
        null,
        1,
        1,
        Property.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getProperty_Type(),
        this.getJavaType(),
        "type",
        "String",
        0,
        1,
        Property.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getProperty_Value1(),
        theXMLTypePackage.getString(),
        "value1",
        null,
        0,
        1,
        Property.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        propertiesEClass,
        Properties.class,
        "Properties",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getProperties_Entry(),
        ecorePackage.getEString(),
        "entry",
        null,
        1,
        1,
        Properties.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        serviceEClass,
        Service.class,
        "Service",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEReference(
        getService_Provide(),
        this.getProvide(),
        null,
        "provide",
        null,
        1,
        -1,
        Service.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_COMPOSITE,
        !IS_RESOLVE_PROXIES,
        !IS_UNSETTABLE,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getService_Servicefactory(),
        theXMLTypePackage.getBoolean(),
        "servicefactory",
        "false",
        0,
        1,
        Service.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        provideEClass,
        Provide.class,
        "Provide",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    EGenericType g1 = createEGenericType(ecorePackage.getEJavaClass());
    EGenericType g2 = createEGenericType();
    g1.getETypeArguments().add(g2);
    initEAttribute(
        getProvide_Interface(),
        g1,
        "interface",
        null,
        1,
        1,
        Provide.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    initEClass(
        referenceEClass,
        Reference.class,
        "Reference",
        !IS_ABSTRACT,
        !IS_INTERFACE,
        IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(
        getReference_Bind(),
        ecorePackage.getEString(),
        "bind",
        null,
        0,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getReference_Cardinality(),
        this.getCardinality(),
        "cardinality",
        "1..1",
        0,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getReference_Interface(),
        ecorePackage.getEString(),
        "interface",
        null,
        1,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getReference_Name(),
        ecorePackage.getEString(),
        "name",
        null,
        0,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getReference_Policy(),
        this.getPolicy(),
        "policy",
        "static",
        0,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getReference_Target(),
        theXMLTypePackage.getString(),
        "target",
        null,
        0,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);
    initEAttribute(
        getReference_Unbind(),
        ecorePackage.getEString(),
        "unbind",
        null,
        0,
        1,
        Reference.class,
        !IS_TRANSIENT,
        !IS_VOLATILE,
        IS_CHANGEABLE,
        !IS_UNSETTABLE,
        !IS_ID,
        IS_UNIQUE,
        !IS_DERIVED,
        IS_ORDERED);

    // Initialize enums and add enum literals
    initEEnum(policyEEnum, Policy.class, "Policy");
    addEEnumLiteral(policyEEnum, Policy.STATIC);
    addEEnumLiteral(policyEEnum, Policy.DYNAMIC);

    initEEnum(cardinalityEEnum, Cardinality.class, "Cardinality");
    addEEnumLiteral(cardinalityEEnum, Cardinality._01);
    addEEnumLiteral(cardinalityEEnum, Cardinality._0N);
    addEEnumLiteral(cardinalityEEnum, Cardinality._11);
    addEEnumLiteral(cardinalityEEnum, Cardinality._1N);

    initEEnum(configurationPolicyEEnum, ConfigurationPolicy.class, "ConfigurationPolicy");
    addEEnumLiteral(configurationPolicyEEnum, ConfigurationPolicy.OPTIONAL);
    addEEnumLiteral(configurationPolicyEEnum, ConfigurationPolicy.REQUIRE);
    addEEnumLiteral(configurationPolicyEEnum, ConfigurationPolicy.IGNORE);

    initEEnum(javaTypeEEnum, JavaType.class, "JavaType");
    addEEnumLiteral(javaTypeEEnum, JavaType.STRING);
    addEEnumLiteral(javaTypeEEnum, JavaType.LONG);
    addEEnumLiteral(javaTypeEEnum, JavaType.DOUBLE);
    addEEnumLiteral(javaTypeEEnum, JavaType.FLOAT);
    addEEnumLiteral(javaTypeEEnum, JavaType.INTEGER);
    addEEnumLiteral(javaTypeEEnum, JavaType.BYTE);
    addEEnumLiteral(javaTypeEEnum, JavaType.CHARACTER);
    addEEnumLiteral(javaTypeEEnum, JavaType.BOOLEAN);
    addEEnumLiteral(javaTypeEEnum, JavaType.SHORT);

    // Create resource
    createResource(eNS_URI);

    // Create annotations
    // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
    createExtendedMetaDataAnnotations();
    // http://www.eclipse.org/emf/2002/Ecore
    createEcoreAnnotations();
  }