/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.gmf.codegen.gmfgen; import java.util.List; import java.util.Map; import org.eclipse.emf.codegen.ecore.genmodel.GenClass; import org.eclipse.emf.common.util.EList; import org.eclipse.gmf.common.codegen.ImportAssistant; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Gen Diagram</b></em>'. * <!-- end-user-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getEditorGen <em>Editor Gen</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getDomainDiagramElement <em>Domain Diagram Element</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getChildNodes <em>Child Nodes</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getTopLevelNodes <em>Top Level Nodes</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getLinks <em>Links</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getCompartments <em>Compartments</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getPalette <em>Palette</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#isSynchronized <em>Synchronized</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getPreferences <em>Preferences</em>}</li> * <li>{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getPreferencePages <em>Preference Pages</em>}</li> * </ul> * </p> * * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram() * @model annotation="http://www.eclipse.org/gmf/2005/constraints ocl='diagramRunTimeClass.ecoreClass.eAllSuperTypes->including(diagramRunTimeClass.ecoreClass)->one(ePackage.name = \'notation\' and name = \'Diagram\')' description='\'Diagram Runtime Class\' must be a notation::Diagram or sub-class'" * @generated */ public interface GenDiagram extends GenContainerBase, PackageNames, ProviderClassNames, LinkConstraints, EditPartCandies, EditorCandies, Shortcuts, BatchValidation, MeasurementUnit { public static final String CLASS_NAME_PREFIX = "Diagram"; //$NON-NLS-1$ /** * Returns the value of the '<em><b>Editor Gen</b></em>' container reference. * It is bidirectional and its opposite is '{@link org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator#getDiagram <em>Diagram</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Editor Gen</em>' container reference isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Editor Gen</em>' container reference. * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_EditorGen() * @see org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator#getDiagram * @model opposite="diagram" resolveProxies="false" transient="false" changeable="false" * @generated */ GenEditorGenerator getEditorGen(); /** * Returns the value of the '<em><b>Domain Diagram Element</b></em>' reference. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Domain Diagram Element</em>' reference isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Domain Diagram Element</em>' reference. * @see #setDomainDiagramElement(GenClass) * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_DomainDiagramElement() * @model * @generated */ GenClass getDomainDiagramElement(); /** * Sets the value of the '{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getDomainDiagramElement <em>Domain Diagram Element</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Domain Diagram Element</em>' reference. * @see #getDomainDiagramElement() * @generated */ void setDomainDiagramElement(GenClass value); /** * Returns the value of the '<em><b>Child Nodes</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenChildNode}. * It is bidirectional and its opposite is '{@link org.eclipse.gmf.codegen.gmfgen.GenChildNode#getDiagram <em>Diagram</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Child Nodes</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Child Nodes</em>' containment reference list. * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_ChildNodes() * @see org.eclipse.gmf.codegen.gmfgen.GenChildNode#getDiagram * @model opposite="diagram" containment="true" * @generated */ EList<GenChildNode> getChildNodes(); /** * Returns the value of the '<em><b>Top Level Nodes</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenTopLevelNode}. * It is bidirectional and its opposite is '{@link org.eclipse.gmf.codegen.gmfgen.GenTopLevelNode#getDiagram <em>Diagram</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Top Level Nodes</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Top Level Nodes</em>' containment reference list. * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_TopLevelNodes() * @see org.eclipse.gmf.codegen.gmfgen.GenTopLevelNode#getDiagram * @model opposite="diagram" containment="true" * @generated */ EList<GenTopLevelNode> getTopLevelNodes(); /** * Returns the value of the '<em><b>Links</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenLink}. * It is bidirectional and its opposite is '{@link org.eclipse.gmf.codegen.gmfgen.GenLink#getDiagram <em>Diagram</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Links</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Links</em>' containment reference list. * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_Links() * @see org.eclipse.gmf.codegen.gmfgen.GenLink#getDiagram * @model opposite="diagram" containment="true" * @generated */ EList<GenLink> getLinks(); /** * Returns the value of the '<em><b>Compartments</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenCompartment}. * It is bidirectional and its opposite is '{@link org.eclipse.gmf.codegen.gmfgen.GenCompartment#getDiagram <em>Diagram</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Compartments</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Compartments</em>' containment reference list. * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_Compartments() * @see org.eclipse.gmf.codegen.gmfgen.GenCompartment#getDiagram * @model opposite="diagram" containment="true" * @generated */ EList<GenCompartment> getCompartments(); /** * Returns the value of the '<em><b>Palette</b></em>' containment reference. * It is bidirectional and its opposite is '{@link org.eclipse.gmf.codegen.gmfgen.Palette#getDiagram <em>Diagram</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Palette</em>' containment reference isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Palette</em>' containment reference. * @see #setPalette(Palette) * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_Palette() * @see org.eclipse.gmf.codegen.gmfgen.Palette#getDiagram * @model opposite="diagram" containment="true" * @generated */ Palette getPalette(); /** * Sets the value of the '{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getPalette <em>Palette</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Palette</em>' containment reference. * @see #getPalette() * @generated */ void setPalette(Palette value); /** * Returns the value of the '<em><b>Synchronized</b></em>' attribute. * The default value is <code>"true"</code>. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Synchronized</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Synchronized</em>' attribute. * @see #setSynchronized(boolean) * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_Synchronized() * @model default="true" * @generated */ boolean isSynchronized(); /** * Sets the value of the '{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#isSynchronized <em>Synchronized</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Synchronized</em>' attribute. * @see #isSynchronized() * @generated */ void setSynchronized(boolean value); /** * Returns the value of the '<em><b>Preferences</b></em>' containment reference. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Preferences</em>' containment reference isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Preferences</em>' containment reference. * @see #setPreferences(GenDiagramPreferences) * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_Preferences() * @model containment="true" * @generated */ GenDiagramPreferences getPreferences(); /** * Sets the value of the '{@link org.eclipse.gmf.codegen.gmfgen.GenDiagram#getPreferences <em>Preferences</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Preferences</em>' containment reference. * @see #getPreferences() * @generated */ void setPreferences(GenDiagramPreferences value); /** * Returns the value of the '<em><b>Preference Pages</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.gmf.codegen.gmfgen.GenPreferencePage}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Preference Pages</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Preference Pages</em>' containment reference list. * @see org.eclipse.gmf.codegen.gmfgen.GMFGenPackage#getGenDiagram_PreferencePages() * @model containment="true" * @generated */ EList<GenPreferencePage> getPreferencePages(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Handy operation to get top and child nodes * <!-- end-model-doc --> * @model kind="operation" * @generated */ EList<GenNode> getAllNodes(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * All nodes (top and child) and compartments * <!-- end-model-doc --> * @model kind="operation" * @generated */ EList<GenChildContainer> getAllChildContainers(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * All nodes, compartments and diagram itself * <!-- end-model-doc --> * @model kind="operation" * @generated */ EList<GenContainerBase> getAllContainers(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Gets the name of the class to hold the initializer methods for domain elements * <!-- end-model-doc --> * @model kind="operation" * @generated */ String getElementInitializersClassName(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Gets the name of the package to hold the element initializers class * <!-- end-model-doc --> * @model kind="operation" * @generated */ String getElementInitializersPackageName(); // Custom additions, to ease template authoring /** * Shorthand for <code>importManager.getImportedName(genDiagram.getDomainDiagramElement().getGenPackage().getQualifiedPackageInterfaceName())</code> * NOTE: genPackage for domainDiagramElement only (not editor-wide domain model!), don't use it for * features/classes/references found in GenLink/GenNodes! * * @deprecated obsolete */ String getMetaPackageName(ImportAssistant importManager); /** * @deprecated obsolete */ Map<TypeModelFacet, GenCommonBase> getTypeModelFacet2GenBaseMap(); Map<GenClass, GenTopLevelNode> getGenClass2PhantomMap(); List<GenLink> getPhantomLinks(); } // GenDiagram