digraph Metamodel { rankdir=TB; subgraph cluster_java { label="java"; java_JavaClass[label=< JavaClass kind[0..1]: TypeKind public[0..1]: EBoolean final[0..1]: EBoolean isNested():EBoolean[0..1] getField(fieldName:EString[0..1],):Field[0..1] getFieldExtended(fieldName:EString[0..1],):Field[0..1] getFieldNamed(fieldName:EString[0..1],):Field[0..1] getFieldsExtended():JTypeList[0..1] getMethod(methodName:EString[0..1],parameterTypes:JTypeList[0..1],):Method[0..1] getMethodElementSignatures():JTypeList[0..1] getMethodExtended(methodName:EString[0..1],parameterTypes:JTypeList[0..1],):Method[0..1] getMethodsExtended():JTypeList[0..1] getOnlySpecificMethods(aMethodNamePrefix:EString[0..1],excludedNames:JTypeList[0..1],):JTypeList[0..1] getPublicMethod(methodName:EString[0..1],parameterTypes:JTypeList[0..1],):Method[0..1] getPublicMethods():JTypeList[0..1] getPublicMethodsExtended():JTypeList[0..1] getPublicMethodsNamed(name:EString[0..1],):JTypeList[0..1] getSupertype():JavaClass[0..1] implementsInterface(interfaceType:JavaClass[0..1],):EBoolean[0..1] infoString():EString[0..1] inheritsFrom(javaClass:JavaClass[0..1],):EBoolean[0..1] isExistingType():EBoolean[0..1] isInterface():EBoolean[0..1] setSupertype(javaclass:JavaClass[0..1],) >][shape=none, margin=0]; java_Initializer[label=< Initializer isStatic[0..1]: EBooleanObject >][shape=none, margin=0]; java_JavaParameter[label=< JavaParameter final[0..1]: EBoolean parameterKind[0..1]: JavaParameterKind isArray():EBoolean[0..1] isReturn():EBoolean[0..1] getJavaType():JTypeJavaHelpers[0..1] getQualifiedName():EString[0..1] >][shape=none, margin=0]; java_Method[label=< Method abstract[0..1]: EBoolean native[0..1]: EBoolean synchronized[0..1]: EBoolean final[0..1]: EBoolean constructor[0..1]: EBoolean static[0..1]: EBoolean javaVisibility[0..1]: JavaVisibilityKind getContainingJavaClass():JavaClass[0..1] getMethodElementSignature():EString[0..1] getParameter(parameterName:EString[0..1],):JavaParameter[0..1] getReturnType():JTypeJavaHelpers[0..1] setReturnType(type:JTypeJavaHelpers[0..1],) getSignature():EString[0..1] isGenerated():EBoolean[0..1] setIsGenerated(generated:EBoolean[0..1],) isVoid():EBoolean[0..1] >][shape=none, margin=0]; java_Field[label=< Field final[0..1]: EBoolean static[0..1]: EBoolean javaVisibility[0..1]: JavaVisibilityKind transient[0..1]: EBoolean volatile[0..1]: EBoolean getContainingJavaClass():JavaClass[0..1] isArray():EBoolean[0..1] >][shape=none, margin=0]; java_TypeKind[label=< TypeKind UNDEFINED CLASS INTERFACE EXCEPTION >][shape=none, margin=0]; java_Block[label=< Block source[0..1]: EString name[0..1]: EString >][shape=none, margin=0]; java_Comment[label=< Comment >][shape=none, margin=0]; java_Statement[label=< Statement >][shape=none, margin=0]; java_JavaPackage[label=< JavaPackage >][shape=none, margin=0]; java_JavaVisibilityKind[label=< JavaVisibilityKind PUBLIC PRIVATE PROTECTED PACKAGE >][shape=none, margin=0]; java_JavaParameterKind[label=< JavaParameterKind IN OUT INOUT RETURN >][shape=none, margin=0]; java_JavaDataType[label=< JavaDataType getDefaultValueString():EString[0..1] >][shape=none, margin=0]; java_ArrayType[label=< ArrayType arrayDimensions[0..1]: EInt getFinalComponentType():JTypeJavaHelpers[0..1] getComponentTypeAsHelper():JTypeJavaHelpers[0..1] isPrimitiveArray():EBoolean[0..1] setComponentType(helperComponentType:JTypeJavaHelpers[0..1],) >][shape=none, margin=0]; java_JTypeJavaHelpers[label=< JTypeJavaHelpers >][shape=none, margin=0]; java_JTypeList[label=< JTypeList >][shape=none, margin=0]; java_JavaEvent[label=< JavaEvent >][shape=none, margin=0]; }; subgraph cluster_ecore { label="ecore"; ecore_EAttribute[label=< EAttribute iD[0..1]: EBoolean >][shape=none, margin=0]; ecore_EAnnotation[label=< EAnnotation source[0..1]: EString >][shape=none, margin=0]; ecore_EClass[label=< EClass abstract[0..1]: EBoolean interface[0..1]: EBoolean isSuperTypeOf(someClass:EClass[0..1],):EBoolean[0..1] getFeatureCount():EInt[0..1] getEStructuralFeature(featureID:EInt[0..1],):EStructuralFeature[0..1] getFeatureID(feature:EStructuralFeature[0..1],):EInt[0..1] getEStructuralFeature(featureName:EString[0..1],):EStructuralFeature[0..1] >][shape=none, margin=0]; ecore_EClassifier[label=< EClassifier instanceClassName[0..1]: EString instanceClass[0..1]: EJavaClass defaultValue[0..1]: EJavaObject instanceTypeName[0..1]: EString isInstance(object:EJavaObject[0..1],):EBoolean[0..1] getClassifierID():EInt[0..1] >][shape=none, margin=0]; ecore_EDataType[label=< EDataType serializable[0..1]: EBoolean >][shape=none, margin=0]; ecore_EEnum[label=< EEnum getEEnumLiteral(name:EString[0..1],):EEnumLiteral[0..1] getEEnumLiteral(value:EInt[0..1],):EEnumLiteral[0..1] getEEnumLiteralByLiteral(literal:EString[0..1],):EEnumLiteral[0..1] >][shape=none, margin=0]; ecore_EEnumLiteral[label=< EEnumLiteral value[0..1]: EInt instance[0..1]: EEnumerator literal[0..1]: EString >][shape=none, margin=0]; ecore_EFactory[label=< EFactory create(eClass:EClass[0..1],):EObject[0..1] createFromString(eDataType:EDataType[0..1],literalValue:EString[0..1],):EJavaObject[0..1] convertToString(eDataType:EDataType[0..1],instanceValue:EJavaObject[0..1],):EString[0..1] >][shape=none, margin=0]; ecore_EModelElement[label=< EModelElement getEAnnotation(source:EString[0..1],):EAnnotation[0..1] >][shape=none, margin=0]; ecore_ENamedElement[label=< ENamedElement name[0..1]: EString >][shape=none, margin=0]; ecore_EObject[label=< EObject eClass():EClass[0..1] eIsProxy():EBoolean[0..1] eResource():EResource[0..1] eContainer():EObject[0..1] eContainingFeature():EStructuralFeature[0..1] eContainmentFeature():EReference[0..1] eContents():EEList[0..1] eAllContents():ETreeIterator[0..1] eCrossReferences():EEList[0..1] eGet(feature:EStructuralFeature[0..1],):EJavaObject[0..1] eGet(feature:EStructuralFeature[0..1],resolve:EBoolean[0..1],):EJavaObject[0..1] eSet(feature:EStructuralFeature[0..1],newValue:EJavaObject[0..1],) eIsSet(feature:EStructuralFeature[0..1],):EBoolean[0..1] eUnset(feature:EStructuralFeature[0..1],) >][shape=none, margin=0]; ecore_EOperation[label=< EOperation >][shape=none, margin=0]; ecore_EPackage[label=< EPackage nsURI[0..1]: EString nsPrefix[0..1]: EString getEClassifier(name:EString[0..1],):EClassifier[0..1] >][shape=none, margin=0]; ecore_EParameter[label=< EParameter >][shape=none, margin=0]; ecore_EReference[label=< EReference containment[0..1]: EBoolean container[0..1]: EBoolean resolveProxies[0..1]: EBoolean >][shape=none, margin=0]; ecore_EStructuralFeature[label=< EStructuralFeature changeable[0..1]: EBoolean volatile[0..1]: EBoolean transient[0..1]: EBoolean defaultValueLiteral[0..1]: EString defaultValue[0..1]: EJavaObject unsettable[0..1]: EBoolean derived[0..1]: EBoolean getFeatureID():EInt[0..1] getContainerClass():EJavaClass[0..1] >][shape=none, margin=0]; ecore_ETypedElement[label=< ETypedElement ordered[0..1]: EBoolean unique[0..1]: EBoolean lowerBound[0..1]: EInt upperBound[0..1]: EInt many[0..1]: EBoolean required[0..1]: EBoolean >][shape=none, margin=0]; ecore_EBigDecimal[label=< EBigDecimal >][shape=none, margin=0]; ecore_EBigInteger[label=< EBigInteger >][shape=none, margin=0]; ecore_EBoolean[label=< EBoolean >][shape=none, margin=0]; ecore_EBooleanObject[label=< EBooleanObject >][shape=none, margin=0]; ecore_EByte[label=< EByte >][shape=none, margin=0]; ecore_EByteArray[label=< EByteArray >][shape=none, margin=0]; ecore_EByteObject[label=< EByteObject >][shape=none, margin=0]; ecore_EChar[label=< EChar >][shape=none, margin=0]; ecore_ECharacterObject[label=< ECharacterObject >][shape=none, margin=0]; ecore_EDate[label=< EDate >][shape=none, margin=0]; ecore_EDiagnosticChain[label=< EDiagnosticChain >][shape=none, margin=0]; ecore_EDouble[label=< EDouble >][shape=none, margin=0]; ecore_EDoubleObject[label=< EDoubleObject >][shape=none, margin=0]; ecore_EEList[label=< EEList >][shape=none, margin=0]; ecore_EEnumerator[label=< EEnumerator >][shape=none, margin=0]; ecore_EFeatureMap[label=< EFeatureMap >][shape=none, margin=0]; ecore_EFeatureMapEntry[label=< EFeatureMapEntry >][shape=none, margin=0]; ecore_EFloat[label=< EFloat >][shape=none, margin=0]; ecore_EFloatObject[label=< EFloatObject >][shape=none, margin=0]; ecore_EInt[label=< EInt >][shape=none, margin=0]; ecore_EIntegerObject[label=< EIntegerObject >][shape=none, margin=0]; ecore_EJavaClass[label=< EJavaClass >][shape=none, margin=0]; ecore_EJavaObject[label=< EJavaObject >][shape=none, margin=0]; ecore_ELong[label=< ELong >][shape=none, margin=0]; ecore_ELongObject[label=< ELongObject >][shape=none, margin=0]; ecore_EMap[label=< EMap >][shape=none, margin=0]; ecore_EResource[label=< EResource >][shape=none, margin=0]; ecore_EResourceSet[label=< EResourceSet >][shape=none, margin=0]; ecore_EShort[label=< EShort >][shape=none, margin=0]; ecore_EShortObject[label=< EShortObject >][shape=none, margin=0]; ecore_EString[label=< EString >][shape=none, margin=0]; ecore_EStringToStringMapEntry[label=< EStringToStringMapEntry key[0..1]: EString value[0..1]: EString >][shape=none, margin=0]; ecore_ETreeIterator[label=< ETreeIterator >][shape=none, margin=0]; ecore_EGenericType[label=< EGenericType >][shape=none, margin=0]; ecore_ETypeParameter[label=< ETypeParameter >][shape=none, margin=0]; }; java_JavaClass -> java_JavaClass[headlabel="implementsInterfaces\n0..*"][arrowhead=ovee][arrowtail=none][dir =both]; java_JavaClass -> java_JavaClass[headlabel="classImport\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; java_JavaClass -> java_JavaPackage[headlabel="packageImports\n0..*"][arrowhead=ovee][arrowtail=none][dir=bo th]; java_JavaClass -> java_Field[taillabel="javaClass\n0..1"][headlabel="fields\n0..*"][arrowhead=none][arrowtail=di amond][dir=both]; java_JavaClass -> java_Method[taillabel="javaClass\n0..1"][headlabel="methods\n0..*"][arrowhead=none][arrowta il=diamond][dir=both]; java_JavaClass -> java_Initializer[taillabel="javaClass\n0..1"][headlabel="initializers\n0..*"][arrowhead=none][arr owtail=diamond][dir=both]; java_JavaClass -> java_JavaClass[taillabel="declaringClass\n0..1"][headlabel="declaredClasses\n0..*"][arrowhead =none][arrowtail=none][dir=both]; java_JavaClass -> java_JavaPackage[taillabel="javaClasses\n0..*"][headlabel="javaPackage\n0..1"][arrowhead=no ne][arrowtail=none][dir=both]; java_JavaClass -> java_JavaEvent[headlabel="events\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both]; java_JavaClass -> java_JavaEvent[headlabel="allEvents\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; java_Initializer -> java_Block[headlabel="source\n0..1"][arrowhead=ovee][arrowtail=none][dir=both]; java_Method -> java_JavaParameter[headlabel="parameters\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=b oth]; java_Method -> java_JavaClass[headlabel="javaExceptions\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; java_Method -> java_Block[headlabel="source\n0..1"][arrowhead=ovee][arrowtail=none][dir=both]; java_Field > java_Block[headlabel="initializer\n0..1"][arrowhead=ovee][arrowtail=diamond][dir=both]; java_Block -> java_Block[headlabel="contents\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both]; java_ArrayType -> ecore_EClassifier[headlabel="componentType\n1"][arrowhead=ovee][arrowtail=none][dir=both ]; ecore_EAttribute -> ecore_EDataType[headlabel="eAttributeType\n1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EAnnotation -> ecore_EStringToStringMapEntry[headlabel="details\n0..*"][arrowhead=ovee][arrowtail=diamon d][dir=both]; ecore_EAnnotation -> ecore_EModelElement[taillabel="eAnnotations\n0..*"][headlabel="eModelElement\n0..1"][arro whead=diamond][arrowtail=none][dir=both]; ecore_EAnnotation -> ecore_EObject[headlabel="contents\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both]; ecore_EAnnotation -> ecore_EObject[headlabel="references\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EClass -> ecore_EClass[headlabel="eSuperTypes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EClass -> ecore_EOperation[taillabel="eContainingClass\n0..1"][headlabel="eOperations\n0..*"][arrowhea d=none][arrowtail=diamond][dir=both]; ecore_EClass -> ecore_EAttribute[headlabel="eAllAttributes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both ]; ecore_EClass -> ecore_EReference[headlabel="eAllReferences\n0..*"][arrowhead=ovee][arrowtail=none][dir=bo th]; ecore_EClass -> ecore_EReference[headlabel="eReferences\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EClass -> ecore_EAttribute[headlabel="eAttributes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EClass -> ecore_EReference[headlabel="eAllContainments\n0..*"][arrowhead=ovee][arrowtail=none][dir= both]; ecore_EClass -> ecore_EOperation[headlabel="eAllOperations\n0..*"][arrowhead=ovee][arrowtail=none][dir=bot h]; ecore_EClass -> ecore_EStructuralFeature[headlabel="eAllStructuralFeatures\n0..*"][arrowhead=ovee][arrowtail =none][dir=both]; ecore_EClass -> ecore_EClass[headlabel="eAllSuperTypes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EClass -> ecore_EAttribute[headlabel="eIDAttribute\n0..1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EClass -> ecore_EStructuralFeature[taillabel="eContainingClass\n0..1"][headlabel="eStructuralFeatures\n 0..*"][arrowhead=none][arrowtail=diamond][dir=both]; ecore_EClass -> ecore_EGenericType[headlabel="eGenericSuperTypes\n0..*"][arrowhead=ovee][arrowtail=diam ond][dir=both]; ecore_EClass -> ecore_EGenericType[headlabel="eAllGenericSuperTypes\n0..*"][arrowhead=ovee][arrowtail=n one][dir=both]; ecore_EClassifier -> ecore_EPackage[taillabel="eClassifiers\n0..*"][headlabel="ePackage\n0..1"][arrowhead=diamon d][arrowtail=none][dir=both]; ecore_EClassifier -> ecore_ETypeParameter[headlabel="eTypeParameters\n0..*"][arrowhead=ovee][arrowtail=diamo nd][dir=both]; ecore_EEnum -> ecore_EEnumLiteral[taillabel="eEnum\n0..1"][headlabel="eLiterals\n0..*"][arrowhead=none][ar rowtail=diamond][dir=both]; ecore_EFactory -> ecore_EPackage[taillabel="eFactoryInstance\n1"][headlabel="ePackage\n1"][arrowhead=none][ arrowtail=none][dir=both]; ecore_EOperation -> ecore_ETypeParameter[headlabel="eTypeParameters\n0..*"][arrowhead=ovee][arrowtail=diamo nd][dir=both]; ecore_EOperation -> ecore_EParameter[taillabel="eOperation\n0..1"][headlabel="eParameters\n0..*"][arrowhead=non e][arrowtail=diamond][dir=both]; ecore_EOperation -> ecore_EClassifier[headlabel="eExceptions\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EOperation -> ecore_EGenericType[headlabel="eGenericExceptions\n0..*"][arrowhead=ovee][arrowtail=diam ond][dir=both]; ecore_EPackage -> ecore_EPackage[taillabel="eSuperPackage\n0..1"][headlabel="eSubpackages\n0..*"][arrowhead =none][arrowtail=diamond][dir=both]; ecore_EReference -> ecore_EReference[headlabel="eOpposite\n0..1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EReference -> ecore_EClass[headlabel="eReferenceType\n1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EReference -> ecore_EAttribute[headlabel="eKeys\n0..*"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_ETypedElement -> ecore_EClassifier[headlabel="eType\n0..1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_ETypedElement -> ecore_EGenericType[headlabel="eGenericType\n0..1"][arrowhead=ovee][arrowtail=diamond][d ir=both]; ecore_EGenericType -> ecore_EGenericType[headlabel="eUpperBound\n0..1"][arrowhead=ovee][arrowtail=diamond][d ir=both]; ecore_EGenericType -> ecore_EGenericType[headlabel="eTypeArguments\n0..*"][arrowhead=ovee][arrowtail=diamond ][dir=both]; ecore_EGenericType -> ecore_EClassifier[headlabel="eRawType\n1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_EGenericType -> ecore_EGenericType[headlabel="eLowerBound\n0..1"][arrowhead=ovee][arrowtail=diamond][d ir=both]; ecore_EGenericType -> ecore_ETypeParameter[headlabel="eTypeParameter\n0..1"][arrowhead=ovee][arrowtail=none][ dir=both]; ecore_EGenericType -> ecore_EClassifier[headlabel="eClassifier\n0..1"][arrowhead=ovee][arrowtail=none][dir=both]; ecore_ETypeParameter -> ecore_EGenericType[headlabel="eBounds\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=bo th]; java_JavaClass -> ecore_EClass[arrowhead=onormal][arrowtail=none][dir=both]; java_JavaParameter -> ecore_EParameter[arrowhead=onormal][arrowtail=none][dir=both]; java_Method -> ecore_EOperation[arrowhead=onormal][arrowtail=none][dir=both]; java_Field > ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both]; java_Comment -> java_Block[arrowhead=onormal][arrowtail=none][dir=both]; java_Statement -> java_Block[arrowhead=onormal][arrowtail=none][dir=both]; java_JavaPackage -> ecore_EPackage[arrowhead=onormal][arrowtail=none][dir=both]; java_JavaDataType -> ecore_EClass[arrowhead=onormal][arrowtail=none][dir=both]; java_ArrayType -> java_JavaClass[arrowhead=onormal][arrowtail=none][dir=both]; java_JavaEvent -> ecore_EStructuralFeature[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EAttribute -> ecore_EStructuralFeature[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EAnnotation > ecore_EModelElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EClass -> ecore_EClassifier[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EClassifier -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EDataType -> ecore_EClassifier[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EEnum -> ecore_EDataType[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EEnumLiteral -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EFactory -> ecore_EModelElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EModelElement -> ecore_EObject[arrowhead=onormal][arrowtail=none][dir=both]; ecore_ENamedElement -> ecore_EModelElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EOperation -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EPackage -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EParameter -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EReference -> ecore_EStructuralFeature[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EStructuralFeature -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_ETypedElement -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both]; ecore_EGenericType -> ecore_EObject[arrowhead=onormal][arrowtail=none][dir=both]; ecore_ETypeParameter -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both]; }