Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/src/org/eclipse/emf/facet/efacet/core/query/IQueryImplementationFactory.java')
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/src/org/eclipse/emf/facet/efacet/core/query/IQueryImplementationFactory.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/src/org/eclipse/emf/facet/efacet/core/query/IQueryImplementationFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/src/org/eclipse/emf/facet/efacet/core/query/IQueryImplementationFactory.java
new file mode 100644
index 00000000000..76d2d569f67
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.core/src/org/eclipse/emf/facet/efacet/core/query/IQueryImplementationFactory.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Nicolas Bros (Mia-Software) - Bug 376941 - [EFacet] Facet operation arguments in Facet model
+ *******************************************************************************/
+package org.eclipse.emf.facet.efacet.core.query;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.facet.efacet.core.IDerivedTypedElementManager;
+import org.eclipse.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.osgi.framework.Bundle;
+
+/**
+ * This factory allows clients to create a {@link IQueryImplementation} for queries corresponding to this type of
+ * factory.
+ *
+ * @since 0.2
+ */
+public interface IQueryImplementationFactory {
+
+ /**
+ * Create a query implementation for the given query.
+ *
+ * @param query
+ * the query to create an implementation for
+ * @param queryBundle
+ * the bundle in which the query is defined. May be <code>null</code> if the query is not defined in a
+ * {@link Bundle}.
+ */
+ IQueryImplementation create(Query query, Bundle queryBundle, IDerivedTypedElementManager manager)
+ throws DerivedTypedElementException;
+
+ /**
+ * Return the type of query handled by this implementation.
+ *
+ * @return the type of query this implementation handles.
+ */
+ EClass getManagedQueryType();
+}

Back to the top