<?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 "FacetSet" is the root element of a facet model. It contains a list of "Facet"."/> | |
</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() <> 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 "extendedMetaclass" 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.

NB: DerivedTypeElement must be named "DerivableTypeElement". 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 "query" 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> |