blob: c0854de9181a2b2e53a3834ef76d565a918637f6 [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="efacet"
nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet" nsPrefix="efacet">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="validationDelegates" value="org.eclipse.ocl.ecore.OCL"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="FacetAttribute" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EAttribute #//DerivedTypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A FacetAttribute is a virtual attribute added to all the eObjects which conform to the Facet owning the FacetAttribute."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FacetReference" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EReference #//DerivedTypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A FacetReference is a virtual reference added to all the eObjects which conform to the Facet owning the FacetReference."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="fOpposite" eType="#//FacetReference"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FacetOperation" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EOperation #//DerivedTypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A FacetOperation is a virtual operation added to all the eObjects which conform to the Facet owning the FacetOperation."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FacetSet" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EPackage #//DocumentedElement">
<eAnnotations source="GenModel">
<details key="documentation" value="A &quot;FacetSet&quot; is the root element of a facet model. It contains a list of &quot;Facet&quot;."/>
</eAnnotations>
<eOperations name="getFacetSets" upperBound="-1" eType="#//FacetSet">
<eAnnotations source="GenModel">
<details key="documentation" value="The FacetSets aggregated by this FacetSet (this operation is overridden in Aggregate in the aggregate metamodel)."/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
eType="#//Category" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Facet" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EClassifier #//DocumentedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="validationDelegates" value="( self.query.scope = self.facet.extendedMetaClass ) and ( self.query.name = self.name )"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A Facet is a virtual sub-type of an existing EClass. A Facet cannot be instantiated."/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="validationDelegates" value="self.conformanceQuery.scope = self.extendedMetaClass"/>
</eAnnotations>
<eAnnotations source="org.eclipse.ocl.ecore.OCL">
<details key="body" value="not(self.container().oclCastAs(FacetSet).facets->exists(f|f.extendedMetaClass.container() &lt;> self.extendedMetaClass.container() ))"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="extendedMetaclass" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass">
<eAnnotations source="GenModel">
<details key="documentation" value="The &quot;extendedMetaclass&quot; reference references the virtually subtyped EClass."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="facetElements" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This composite reference contains virtual attributes, references and operations."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="facetOperations" upperBound="-1"
eType="#//FacetOperation" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="conformanceTypedElement"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extendedFacets" upperBound="-1"
eType="#//Facet">
<eAnnotations source="GenModel">
<details key="documentation" value="A facet can extend other facets. If A facet A can extend a facet B. In this case an eObject conforms to the facet A if it matches conformance evaluation of A and B. "/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement #//DocumentedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A Category is used to group related elements."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FacetElement" abstract="true" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement #//DocumentedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A facet element is owned by a facet. It can be a facet reference, a facet attribute or a facet operation."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
eType="#//Category"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DerivedTypedElement" abstract="true"
eSuperTypes="#//FacetElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A derivable typed element is a structural feature that the value can be computed by using a query.&#xD;&#xA;&#xD;&#xA;NB: DerivedTypeElement must be named &quot;DerivableTypeElement&quot;. Old definition: A derived typed element is a virtual structural feature the value of which is computed using a query."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="query" eType="#//extensible/Query"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="override" eType="#//DerivedTypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="If it exists a facet A which extends a facet B then a derived typed element of A can override a typed element of B; if the both typed elements have the same name, same multiplicity, and same type."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the value given as a parameter to execute a query for an operation."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EParameter"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Resource" instanceClassName="org.eclipse.emf.ecore.resource.Resource"/>
<eClassifiers xsi:type="ecore:EClass" name="DocumentedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eSubpackages name="serialization" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/serialization"
nsPrefix="serialization">
<eClassifiers xsi:type="ecore:EClass" name="AbstractReferenceInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="eReference" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiValuedContainmentReferenceInstance"
eSuperTypes="#//serialization/AbstractReferenceInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedElements" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiValuedReferenceInstance" eSuperTypes="#//serialization/AbstractReferenceInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedElements" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleValuedAttributeInstance" eSuperTypes="#//serialization/AbstractAttributeInstance">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExtendedEObjectReference">
<eStructuralFeatures xsi:type="ecore:EReference" name="extendedEObject" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributeInstances" upperBound="-1"
eType="#//serialization/AbstractAttributeInstance" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referenceInstances" upperBound="-1"
eType="#//serialization/AbstractReferenceInstance" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleValuedContainmentReferenceInstance"
eSuperTypes="#//serialization/AbstractReferenceInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleValuedReferenceInstance" eSuperTypes="#//serialization/AbstractReferenceInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiValuedAttributeInstance" eSuperTypes="#//serialization/AbstractAttributeInstance">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="values" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractAttributeInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="eAttribute" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EAttribute"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="extensible" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/extensible"
nsPrefix="extensible">
<eClassifiers xsi:type="ecore:EClass" name="Query" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Query is the abstract representation of the concept of query. This class has to be sub-classed for each existing query language (Java, OCL, etc.)"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="canHaveSideEffects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="canBeCached" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="query" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/query"
nsPrefix="query">
<eClassifiers xsi:type="ecore:EClass" name="NavigationQuery" eSuperTypes="#//extensible/Query">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This query points to a typed element (another attribute, reference or operation for example) that lends it value to the query."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="failOnError" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IsOneOfQuery" eSuperTypes="#//extensible/Query">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This query returns true if the source of the query is contained in a list of eObject handled by the referennce 'expectedEObjects'."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="expectedEObjects" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StringLiteralQuery" eSuperTypes="#//extensible/Query">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TrueLiteralQuery" eSuperTypes="#//extensible/Query">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This query retrun true."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FalseLiteralQuery" eSuperTypes="#//extensible/Query">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This query retrun false."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NullLiteralQuery" eSuperTypes="#//extensible/Query">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This query retrun null."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralQuery" eSuperTypes="#//extensible/Query">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FloatLiteralQuery" eSuperTypes="#//extensible/Query">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EObjectLiteralQuery" eSuperTypes="#//extensible/Query">
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperationCallQuery" eSuperTypes="#//extensible/Query">
<eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
eType="#//extensible/Query" containment="true"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="runtime" nsURI="http://www.eclipse.org/emf/facet/efacet/0.2.incubation/efacet/runtime"
nsPrefix="runtime">
<eClassifiers xsi:type="ecore:EClass" name="ETypedElementPrimitiveTypeResult"
eSuperTypes="#//runtime/ETypedElementResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-one DerivedTypedElement by means of a single-valued query ."/>
</eAnnotations>
<eTypeParameters name="T"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="result">
<eGenericType eTypeParameter="#//runtime/ETypedElementPrimitiveTypeResult/T"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ETypedElementEObjectResult" eSuperTypes="#//runtime/ETypedElementResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-one DerivedTypedElement by means of a single-valued query ."/>
</eAnnotations>
<eTypeParameters name="T">
<eBounds eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eTypeParameters>
<eStructuralFeatures xsi:type="ecore:EReference" name="result">
<eGenericType eTypeParameter="#//runtime/ETypedElementEObjectResult/T"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ETypedElementPrimitiveTypeListResult"
eSuperTypes="#//runtime/ETypedElementResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-many DerivedTypedElement by means of a multi-valued query ."/>
</eAnnotations>
<eTypeParameters name="T"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="resultList" upperBound="-1">
<eGenericType eTypeParameter="#//runtime/ETypedElementPrimitiveTypeListResult/T"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ETypedElementEObjectListResult" eSuperTypes="#//runtime/ETypedElementResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This class represents the result of evaluating the value of a multiplicity-many DerivedTypedElement by means of a multi-valued query ."/>
</eAnnotations>
<eTypeParameters name="T">
<eBounds eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eTypeParameters>
<eStructuralFeatures xsi:type="ecore:EReference" name="resultList" upperBound="-1">
<eGenericType eTypeParameter="#//runtime/ETypedElementEObjectListResult/T"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ETypedElementResult" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This class represents the result of evaluating the value of a DerivedTypedElement by means of a query ."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="derivedTypedElement"
lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ETypedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The reference &quot;query&quot; references the executed query."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
eType="#//ParameterValue" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the list of the values given as parameters for the query execution."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="exception" eType="#//runtime/JavaException"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="JavaException" instanceClassName="java.lang.Throwable"/>
</eSubpackages>
</ecore:EPackage>