Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/emf/facet/efacet/ui/internal/IQueryCreationPagePart2.java')
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/emf/facet/efacet/ui/internal/IQueryCreationPagePart2.java168
1 files changed, 168 insertions, 0 deletions
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/emf/facet/efacet/ui/internal/IQueryCreationPagePart2.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/emf/facet/efacet/ui/internal/IQueryCreationPagePart2.java
new file mode 100644
index 00000000000..a7219680b05
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.ui/src/org/eclipse/emf/facet/efacet/ui/internal/IQueryCreationPagePart2.java
@@ -0,0 +1,168 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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 Guyomar (Mia-Software) - Bug 349546 - EMF Facet facetSet editor
+ * Gregoire Dupe (Mia-Software) - Bug 361617 - Deprecation of APIs for the old Facet metamodels
+ */
+package org.eclipse.emf.facet.efacet.ui.internal;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This interface has to be implemented by {@link Query} factory UI Class. It is used to complete a
+ * generic {@link Query} creation wizard with specific widget.
+ *
+ * TODO: This interface has to be renamed to IQueryCreationPagePart before the release of 0.2
+ *
+ * @since 0.2
+ */
+//TODO: This interface has to be renamed to IQueryCreationPagePart before the release of 0.2
+public interface IQueryCreationPagePart2 {
+
+ /**
+ * Set the {@link Query}'s {@link FacetSet}.
+ *
+ * @param facetSet
+ * the given {@link FacetSet}
+ */
+ public void setFacetSet(FacetSet facetSet);
+
+ /**
+ * Set the {@link Query}'s upperBound.
+ *
+ * @param upperBound
+ * the upperBound.
+ */
+ public void setUpperBound(int upperBound);
+
+ /**
+ * Set the {@link Query}'s lowerBound.
+ *
+ * @param lowerBound
+ * the lowerBound.
+ */
+ public void setLowerBound(int lowerBound);
+
+ /**
+ * Set the {@link Query}'s {@link Query#isOrdered() <em>attribute</em>} attribute.
+ *
+ * @param ordered
+ * whether
+ */
+ public void setOrdered(final boolean ordered);
+
+ /**
+ * Set the {@link Query}'s {@link Query#isUnique() <em>unique</em>} attribute.
+ *
+ * @param unique
+ * Whether the query is unique or not.
+ */
+ public void setUnique(final boolean unique);
+
+ /**
+ * Set the {@link Query}'s type.
+ *
+ * @param queryType
+ * the {@link Query}'s type.
+ */
+ public void setQueryType(EClassifier queryType);
+
+ /**
+ * Set the {@link Query}'s name.
+ *
+ * @param name
+ * the query's name.
+ */
+ public void setQueryName(String name);
+
+ /**
+ * Set the {@link Query}'s {@link Query#isCanBeCached() <em>Can Be Cached</em>}.
+ *
+ * @param canBeCached
+ * whether the query result can be cached.
+ */
+ public void setCanBeCached(boolean canBeCached);
+
+ /**
+ * Set the {@link Query}'s {@link Query#isHasSideEffect() <em>Has Side Effect</em>}.
+ *
+ * @param hasSideEffect
+ * whether the query has side effect, such as modifying a model when applied on it.
+ */
+ public void setHasSideEffect(boolean hasSideEffect);
+
+ /**
+ * Set the {@link Query}'s '{@link Query#getScope <em>Scope</em>}'.
+ *
+ * @param type
+ * the {@link Query}'s '{@link Query#getScope <em>Scope</em>}'.
+ */
+ public void setQueryScope(EClass scope);
+
+ /**
+ * This method is dedicated to create a {@link Query} with every attribute set by the others
+ * methods of {@link IQueryCreationPagePart2}.
+ *
+ * @return the newly created {@link Query}
+ */
+ public Query performFinish();
+
+ /**
+ * This method is called by the {@link org.eclipse.emf.facet.efacet.ui.internal.wizards.pages.CreateQueryWizardPage}.
+ *
+ * @param parent
+ * the Wizard's composite to be completed with specific widget for this {@link Query} creation.
+ */
+ public void completeComposite(Composite parent);
+
+ /**
+ * Returns <code>true</code> if the composite is complete.
+ *
+ * @return <code>true</code> if the composite is complete.
+ */
+ public boolean isCompositeComplete();
+
+ /**
+ * Returns the error messages generated by the part, or null if none.
+ *
+ * @return the error messages generated by the part, or null if none.
+ */
+ public String getErrorMessage();
+
+ /**
+ * Add a {@link ModifyListener} on the part.
+ *
+ * @param listener
+ * a {@link ModifyListener}
+ */
+ public void addModifyListener(ModifyListener listener);
+
+ /**
+ * Remove an existing {@link ModifyListener} from the part's listener.
+ *
+ * @param listener
+ * an existing {@link ModifyListener} listener.
+ */
+ public void removeModifyListener(ModifyListener listener);
+
+ /**
+ * Notify the registered listener that something has been modified in the part. It should only
+ * be used as a way to update the buttons' state of the containing wizard dialog.
+ *
+ * @param modifiedComposite
+ * the composite on which the modification occured.
+ */
+ public void notifyCompositeListeners(Composite modifiedComposite);
+
+}

Back to the top