
The facet meta-model extends the ecore meta-model and use the query meta-model.
A facetSet is a kind of ePackage. A facetSet contains facets through the eClassifier reference. A facet is a kind of eClass.
For a facet instance, the eSuperType reference must be set to specify which class the facet virtually extends.
The facet class has one specific reference: conditionQuery. The conditionQuery reference points the ModelQuery class. The model queries pointed by the conditionQuery reference must return a Boolean. Those queries are used to specify how to decide if an instance is conform to a facet. If the conditionQuery is empty all the instances of the class referred by facet instance trough the eSuperType reference, are conform to the facet.
A facet contains facetAttributes and facetReferences through the eStructuralFeature reference. The FacetAttribute and FacetReference classes have a common super class: FacetStructuralFeature. The FacetStructuralFeature has one reference named valueQuery and pointing to the ModelQuery class. The valueQuery is used to compute the facet structural feature value. The facetAttribute and facetReference must have the same type than the query they refer.
Copyright (c) 2009 Mia-Software. All rights reserved. This document is made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
Contributors: