/**
* <copyright>
* </copyright>
*
* $Id$
*/
package org.eclipse.gmf.codegen.gmfgen.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage;
import org.eclipse.gmf.codegen.gmfgen.GenCommonBase;
import org.eclipse.gmf.codegen.gmfgen.OpenDiagramBehaviour;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Open Diagram Behaviour</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.gmf.codegen.gmfgen.impl.OpenDiagramBehaviourImpl#getSubject <em>Subject</em>}</li>
* <li>{@link org.eclipse.gmf.codegen.gmfgen.impl.OpenDiagramBehaviourImpl#getEditPolicyClassName <em>Edit Policy Class Name</em>}</li>
* <li>{@link org.eclipse.gmf.codegen.gmfgen.impl.OpenDiagramBehaviourImpl#getDiagramKind <em>Diagram Kind</em>}</li>
* <li>{@link org.eclipse.gmf.codegen.gmfgen.impl.OpenDiagramBehaviourImpl#getEditorID <em>Editor ID</em>}</li>
* <li>{@link org.eclipse.gmf.codegen.gmfgen.impl.OpenDiagramBehaviourImpl#isOpenAsEclipseEditor <em>Open As Eclipse Editor</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class OpenDiagramBehaviourImpl extends EObjectImpl implements OpenDiagramBehaviour {
/**
* The default value of the '{@link #getEditPolicyClassName() <em>Edit Policy Class Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEditPolicyClassName()
* @generated
* @ordered
*/
protected static final String EDIT_POLICY_CLASS_NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getEditPolicyClassName() <em>Edit Policy Class Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEditPolicyClassName()
* @generated
* @ordered
*/
protected String editPolicyClassName = EDIT_POLICY_CLASS_NAME_EDEFAULT;
/**
* The default value of the '{@link #getDiagramKind() <em>Diagram Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDiagramKind()
* @generated
* @ordered
*/
protected static final String DIAGRAM_KIND_EDEFAULT = null;
/**
* The cached value of the '{@link #getDiagramKind() <em>Diagram Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDiagramKind()
* @generated
* @ordered
*/
protected String diagramKind = DIAGRAM_KIND_EDEFAULT;
/**
* The default value of the '{@link #getEditorID() <em>Editor ID</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEditorID()
* @generated
* @ordered
*/
protected static final String EDITOR_ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getEditorID() <em>Editor ID</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEditorID()
* @generated
* @ordered
*/
protected String editorID = EDITOR_ID_EDEFAULT;
/**
* The default value of the '{@link #isOpenAsEclipseEditor() <em>Open As Eclipse Editor</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isOpenAsEclipseEditor()
* @generated
* @ordered
*/
protected static final boolean OPEN_AS_ECLIPSE_EDITOR_EDEFAULT = true;
/**
* The cached value of the '{@link #isOpenAsEclipseEditor() <em>Open As Eclipse Editor</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isOpenAsEclipseEditor()
* @generated
* @ordered
*/
protected boolean openAsEclipseEditor = OPEN_AS_ECLIPSE_EDITOR_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OpenDiagramBehaviourImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return GMFGenPackage.eINSTANCE.getOpenDiagramBehaviour();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public GenCommonBase getSubject() {
if (eContainerFeatureID() != GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT) return null;
return (GenCommonBase)eInternalContainer();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getEditPolicyClassNameGen() {
return editPolicyClassName;
}
public String getEditPolicyClassName() {
if (getEditPolicyClassNameGen() == null || getEditPolicyClassNameGen().trim().length() == 0) {
return "OpenDiagramEditPolicy";
}
return getEditPolicyClassNameGen();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEditPolicyClassName(String newEditPolicyClassName) {
String oldEditPolicyClassName = editPolicyClassName;
editPolicyClassName = newEditPolicyClassName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDIT_POLICY_CLASS_NAME, oldEditPolicyClassName, editPolicyClassName));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getDiagramKind() {
return diagramKind;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setDiagramKind(String newDiagramKind) {
String oldDiagramKind = diagramKind;
diagramKind = newDiagramKind;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__DIAGRAM_KIND, oldDiagramKind, diagramKind));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getEditorID() {
return editorID;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEditorID(String newEditorID) {
String oldEditorID = editorID;
editorID = newEditorID;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDITOR_ID, oldEditorID, editorID));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isOpenAsEclipseEditor() {
return openAsEclipseEditor;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setOpenAsEclipseEditor(boolean newOpenAsEclipseEditor) {
boolean oldOpenAsEclipseEditor = openAsEclipseEditor;
openAsEclipseEditor = newOpenAsEclipseEditor;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__OPEN_AS_ECLIPSE_EDITOR, oldOpenAsEclipseEditor, openAsEclipseEditor));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
*/
public String getEditPolicyQualifiedClassName() {
return getSubject().getDiagram().getEditPoliciesPackageName() + '.' + getEditPolicyClassName();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
return eBasicSetContainer(otherEnd, GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT:
return eBasicSetContainer(null, GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
switch (eContainerFeatureID()) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT:
return eInternalContainer().eInverseRemove(this, GMFGenPackage.GEN_COMMON_BASE__BEHAVIOUR, GenCommonBase.class, msgs);
}
return super.eBasicRemoveFromContainerFeature(msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT:
return getSubject();
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDIT_POLICY_CLASS_NAME:
return getEditPolicyClassName();
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__DIAGRAM_KIND:
return getDiagramKind();
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDITOR_ID:
return getEditorID();
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__OPEN_AS_ECLIPSE_EDITOR:
return isOpenAsEclipseEditor();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDIT_POLICY_CLASS_NAME:
setEditPolicyClassName((String)newValue);
return;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__DIAGRAM_KIND:
setDiagramKind((String)newValue);
return;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDITOR_ID:
setEditorID((String)newValue);
return;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__OPEN_AS_ECLIPSE_EDITOR:
setOpenAsEclipseEditor((Boolean)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDIT_POLICY_CLASS_NAME:
setEditPolicyClassName(EDIT_POLICY_CLASS_NAME_EDEFAULT);
return;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__DIAGRAM_KIND:
setDiagramKind(DIAGRAM_KIND_EDEFAULT);
return;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDITOR_ID:
setEditorID(EDITOR_ID_EDEFAULT);
return;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__OPEN_AS_ECLIPSE_EDITOR:
setOpenAsEclipseEditor(OPEN_AS_ECLIPSE_EDITOR_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__SUBJECT:
return getSubject() != null;
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDIT_POLICY_CLASS_NAME:
return EDIT_POLICY_CLASS_NAME_EDEFAULT == null ? editPolicyClassName != null : !EDIT_POLICY_CLASS_NAME_EDEFAULT.equals(editPolicyClassName);
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__DIAGRAM_KIND:
return DIAGRAM_KIND_EDEFAULT == null ? diagramKind != null : !DIAGRAM_KIND_EDEFAULT.equals(diagramKind);
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__EDITOR_ID:
return EDITOR_ID_EDEFAULT == null ? editorID != null : !EDITOR_ID_EDEFAULT.equals(editorID);
case GMFGenPackage.OPEN_DIAGRAM_BEHAVIOUR__OPEN_AS_ECLIPSE_EDITOR:
return openAsEclipseEditor != OPEN_AS_ECLIPSE_EDITOR_EDEFAULT;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (editPolicyClassName: ");
result.append(editPolicyClassName);
result.append(", diagramKind: ");
result.append(diagramKind);
result.append(", editorID: ");
result.append(editorID);
result.append(", openAsEclipseEditor: ");
result.append(openAsEclipseEditor);
result.append(')');
return result.toString();
}
} //OpenDiagramBehaviourImpl