| <?xml version="1.0" encoding="UTF-8"?> |
| <ecore:EPackage xmi:version="2.0" |
| xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="pattern" |
| nsURI="http://www.eclipse.org/egf/1.0.0/pattern" nsPrefix="pattern"> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternNature" abstract="true" eSuperTypes="Fcore.ecore#//NamedModelElement"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="MandatoryName"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternElement" abstract="true" eSuperTypes="Fcore.ecore#//NamedModelElement"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="MandatoryName"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternLibrary" eSuperTypes="#//PatternElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="patternViewpoint" eType="#//PatternViewpoint" |
| eOpposite="#//PatternViewpoint/libraries"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" |
| eType="#//Pattern" containment="true" resolveProxies="false" eOpposite="#//Pattern/container"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="filters" upperBound="-1" |
| eType="#//String2PatternList" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Pattern" eSuperTypes="#//PatternElement"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="UniqueName HeaderMethod FooterMethod"/> |
| </eAnnotations> |
| <eOperations name="getAllParameters" upperBound="-1" eType="#//PatternParameter"/> |
| <eOperations name="getAllVariables" upperBound="-1" eType="#//PatternVariable"/> |
| <eOperations name="getAllMethods" upperBound="-1" eType="#//PatternMethod"/> |
| <eOperations name="getMethod" eType="#//PatternMethod"> |
| <eParameters name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| </eOperations> |
| <eOperations name="getParameter" eType="#//PatternParameter"> |
| <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="nature" lowerBound="1" |
| eType="#//PatternNature" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="container" eType="#//PatternLibrary" |
| resolveProxies="false" eOpposite="#//PatternLibrary/elements"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="superPattern" eType="#//Pattern"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="headerMethod" lowerBound="1" |
| eType="#//PatternMethod" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="conditionMethod" eType="#//PatternMethod" |
| resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="initMethod" lowerBound="1" |
| eType="#//PatternMethod" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="footerMethod" lowerBound="1" |
| eType="#//PatternMethod" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="methods" upperBound="-1" |
| eType="#//PatternMethod" containment="true" resolveProxies="false" eOpposite="#//PatternMethod/pattern"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" |
| eType="#//PatternParameter" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1" |
| eType="#//PatternVariable" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="orchestration" upperBound="-1" |
| eType="#//Call" containment="true" eOpposite="#//Call/pattern"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternMethod" eSuperTypes="Fcore.ecore#//NamedModelElement"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="MandatoryName ValidURI ValidPatternFilePath"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="pattern" lowerBound="1" |
| eType="#//Pattern" resolveProxies="false" eOpposite="#//Pattern/methods"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternFilePath" lowerBound="1" |
| eType="ecore:EDataType Types.ecore#//URI"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternParameter" eSuperTypes="Fcore.ecore#//NamedModelElement #//InjectedContext"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="MandatoryName"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//Query" |
| containment="true" resolveProxies="false" eOpposite="#//Query/parameter"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternViewpoint" eSuperTypes="Fcore.ecore#//Viewpoint"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="libraries" upperBound="-1" |
| eType="#//PatternLibrary" containment="true" resolveProxies="false" eOpposite="#//PatternLibrary/patternViewpoint"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EDataType" name="PatternContext" instanceClassName="org.eclipse.egf.model.pattern.PatternContext"/> |
| <eClassifiers xsi:type="ecore:EDataType" name="PatternException" instanceClassName="org.eclipse.egf.model.pattern.PatternException"/> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternCall" eSuperTypes="#//AbstractPatternCall"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parameterMatching" upperBound="-1" |
| eType="#//Paramerter2ParameterMap" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SuperCall" eSuperTypes="#//Call"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Paramerter2ParameterMap" instanceClassName="java.util.Map$Entry" |
| eSuperTypes="Fcore.ecore#//ModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//InjectedContext"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="key" eType="#//InjectedContext" |
| resolveProxies="false"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Call" abstract="true" eSuperTypes="Fcore.ecore#//ModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="pattern" lowerBound="1" |
| eType="#//Pattern" eOpposite="#//Pattern/orchestration"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MethodCall" eSuperTypes="#//Call"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="called" lowerBound="1" |
| eType="#//PatternMethod"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternVariable" eSuperTypes="Fcore.ecore#//NamedModelElement #//InjectedContext"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="MandatoryName"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AbstractPatternCall" abstract="true" |
| eSuperTypes="#//Call"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="called" lowerBound="1" |
| eType="#//Pattern"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PatternInjectedCall" eSuperTypes="#//AbstractPatternCall"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1" |
| eType="#//InjectedContext"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Query" abstract="true" eSuperTypes="Fcore.ecore#//ModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1" |
| eType="#//PatternParameter" resolveProxies="false" eOpposite="#//PatternParameter/query"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="extensionId" lowerBound="1" |
| eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="queryContext" upperBound="-1" |
| eType="#//String2String" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="BasicQuery" eSuperTypes="#//Query"/> |
| <eClassifiers xsi:type="ecore:EClass" name="StringQuery" eSuperTypes="#//Query"/> |
| <eClassifiers xsi:type="ecore:EClass" name="CustomQuery" eSuperTypes="#//Query"/> |
| <eClassifiers xsi:type="ecore:EClass" name="String2PatternList" instanceClassName="java.util.Map$Entry" |
| eSuperTypes="Fcore.ecore#//ModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" |
| eType="#//PatternElement"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="String2String" instanceClassName="java.util.Map$Entry" |
| eSuperTypes="Fcore.ecore#//ModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="BackCall" eSuperTypes="#//Call"/> |
| <eClassifiers xsi:type="ecore:EClass" name="InjectedContext" abstract="true" interface="true" |
| eSuperTypes="Fcore.ecore#//ModelElement"> |
| <eOperations name="getType" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eOperations name="getPattern" lowerBound="1" eType="#//Pattern"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Substitution" eSuperTypes="Fcore.ecore#//NamedModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="replacedElement" eType="#//Pattern"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="replacement" upperBound="-1" |
| eType="#//Pattern"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypePatternExecutionReporter" eSuperTypes="Types.ecore#//TypeAbstractClass"> |
| <eOperations name="getType" lowerBound="1"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (Class<T>) org.eclipse.egf.model.pattern.PatternExecutionReporter.class;"/> |
| </eAnnotations> |
| <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaClass"> |
| <eTypeArguments eTypeParameter="#//TypePatternExecutionReporter/getType/T"/> |
| </eGenericType> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/> |
| </eTypeParameters> |
| </eOperations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypePatternCallBackHandler" eSuperTypes="Types.ecore#//TypeAbstractClass"> |
| <eOperations name="getType" lowerBound="1"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (Class<T>) org.eclipse.egf.model.pattern.CallBackHandler.class;"/> |
| </eAnnotations> |
| <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaClass"> |
| <eTypeArguments eTypeParameter="#//TypePatternCallBackHandler/getType/T"/> |
| </eGenericType> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/> |
| </eTypeParameters> |
| </eOperations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypePatternDomainVisitor" eSuperTypes="Types.ecore#//TypeAbstractClass"> |
| <eOperations name="getType" lowerBound="1"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (Class<T>) org.eclipse.egf.model.pattern.DomainVisitor.class;"/> |
| </eAnnotations> |
| <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaClass"> |
| <eTypeArguments eTypeParameter="#//TypePatternDomainVisitor/getType/T"/> |
| </eGenericType> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/> |
| </eTypeParameters> |
| </eOperations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypePatternList" eSuperTypes="Types.ecore#//Type"> |
| <eOperations name="getType" lowerBound="1"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (Class<T>) org.eclipse.egf.model.pattern.TypePatternList.class;"/> |
| </eAnnotations> |
| <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaClass"> |
| <eTypeArguments eTypeParameter="#//TypePatternList/getType/T"/> |
| </eGenericType> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/> |
| </eTypeParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" |
| eType="#//PatternElement"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypePatternSubstitution" eSuperTypes="Types.ecore#//Type"> |
| <eOperations name="getType" lowerBound="1"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (Class<T>) org.eclipse.egf.model.pattern.TypePatternSubstitution.class;"/> |
| </eAnnotations> |
| <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaClass"> |
| <eTypeArguments eTypeParameter="#//TypePatternSubstitution/getType/T"/> |
| </eGenericType> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/> |
| </eTypeParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="substitutions" upperBound="-1" |
| eType="#//Substitution" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypePatternOutputProcessor" eSuperTypes="Types.ecore#//TypeList"> |
| <eOperations name="getType" lowerBound="1"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (Class<T>) org.eclipse.egf.model.pattern.PatternOutputProcessor.class;"/> |
| </eAnnotations> |
| <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaClass"> |
| <eTypeArguments eTypeParameter="#//TypePatternOutputProcessor/getType/T"/> |
| </eGenericType> |
| <eTypeParameters name="T"> |
| <eBounds eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/> |
| </eTypeParameters> |
| </eOperations> |
| </eClassifiers> |
| </ecore:EPackage> |