blob: 7f1f613dc78f1b0f3d4db9aca62ceb499a68e114 [file] [log] [blame]
<?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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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>