diff options
Diffstat (limited to 'examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine')
16 files changed, 3446 insertions, 0 deletions
diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Command.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Command.java new file mode 100644 index 000000000..a862793af --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Command.java @@ -0,0 +1,81 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Command</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getCode <em>Code</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getCommand() + * @model + * @generated + */ +public interface Command extends EObject +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getCommand_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Code</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Code</em>' attribute. + * @see #setCode(String) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getCommand_Code() + * @model + * @generated + */ + String getCode(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getCode <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Code</em>' attribute. + * @see #getCode() + * @generated + */ + void setCode(String value); + +} // Command diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Event.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Event.java new file mode 100644 index 000000000..ad2ec0798 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Event.java @@ -0,0 +1,81 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Event</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getCode <em>Code</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getEvent() + * @model + * @generated + */ +public interface Event extends EObject +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getEvent_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Code</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Code</em>' attribute. + * @see #setCode(String) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getEvent_Code() + * @model + * @generated + */ + String getCode(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getCode <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Code</em>' attribute. + * @see #getCode() + * @generated + */ + void setCode(String value); + +} // Event diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/State.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/State.java new file mode 100644 index 000000000..3bf7ebe4e --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/State.java @@ -0,0 +1,90 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>State</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getActions <em>Actions</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getTransitions <em>Transitions</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getState() + * @model + * @generated + */ +public interface State extends EObject +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getState_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Actions</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Actions</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Actions</em>' reference list. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getState_Actions() + * @model + * @generated + */ + EList<Command> getActions(); + + /** + * Returns the value of the '<em><b>Transitions</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Transitions</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>Transitions</em>' containment reference list. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getState_Transitions() + * @model containment="true" + * @generated + */ + EList<Transition> getTransitions(); + +} // State diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Statemachine.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Statemachine.java new file mode 100644 index 000000000..3a35a1a37 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Statemachine.java @@ -0,0 +1,97 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Statemachine</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getEvents <em>Events</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getResetEvents <em>Reset Events</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getCommands <em>Commands</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getStates <em>States</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getStatemachine() + * @model + * @generated + */ +public interface Statemachine extends EObject +{ + /** + * Returns the value of the '<em><b>Events</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Events</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>Events</em>' containment reference list. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getStatemachine_Events() + * @model containment="true" + * @generated + */ + EList<Event> getEvents(); + + /** + * Returns the value of the '<em><b>Reset Events</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Reset Events</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Reset Events</em>' reference list. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getStatemachine_ResetEvents() + * @model + * @generated + */ + EList<Event> getResetEvents(); + + /** + * Returns the value of the '<em><b>Commands</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Commands</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>Commands</em>' containment reference list. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getStatemachine_Commands() + * @model containment="true" + * @generated + */ + EList<Command> getCommands(); + + /** + * Returns the value of the '<em><b>States</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>States</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>States</em>' containment reference list. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getStatemachine_States() + * @model containment="true" + * @generated + */ + EList<State> getStates(); + +} // Statemachine diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/StatemachineFactory.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/StatemachineFactory.java new file mode 100644 index 000000000..285cbdf1e --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/StatemachineFactory.java @@ -0,0 +1,82 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage + * @generated + */ +public interface StatemachineFactory extends EFactory +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + StatemachineFactory eINSTANCE = org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Statemachine</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Statemachine</em>'. + * @generated + */ + Statemachine createStatemachine(); + + /** + * Returns a new object of class '<em>Event</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Event</em>'. + * @generated + */ + Event createEvent(); + + /** + * Returns a new object of class '<em>Command</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Command</em>'. + * @generated + */ + Command createCommand(); + + /** + * Returns a new object of class '<em>State</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>State</em>'. + * @generated + */ + State createState(); + + /** + * Returns a new object of class '<em>Transition</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Transition</em>'. + * @generated + */ + Transition createTransition(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + StatemachinePackage getStatemachinePackage(); + +} //StatemachineFactory diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/StatemachinePackage.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/StatemachinePackage.java new file mode 100644 index 000000000..1aca98db0 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/StatemachinePackage.java @@ -0,0 +1,647 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachineFactory + * @model kind="package" + * @generated + */ +public interface StatemachinePackage extends EPackage +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "statemachine"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/emf/parsley/examples/fowlerdsl/Statemachine"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "statemachine"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + StatemachinePackage eINSTANCE = org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl <em>Statemachine</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getStatemachine() + * @generated + */ + int STATEMACHINE = 0; + + /** + * The feature id for the '<em><b>Events</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATEMACHINE__EVENTS = 0; + + /** + * The feature id for the '<em><b>Reset Events</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATEMACHINE__RESET_EVENTS = 1; + + /** + * The feature id for the '<em><b>Commands</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATEMACHINE__COMMANDS = 2; + + /** + * The feature id for the '<em><b>States</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATEMACHINE__STATES = 3; + + /** + * The number of structural features of the '<em>Statemachine</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATEMACHINE_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.EventImpl <em>Event</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.EventImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getEvent() + * @generated + */ + int EVENT = 1; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVENT__NAME = 0; + + /** + * The feature id for the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVENT__CODE = 1; + + /** + * The number of structural features of the '<em>Event</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVENT_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.CommandImpl <em>Command</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.CommandImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getCommand() + * @generated + */ + int COMMAND = 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMAND__NAME = 0; + + /** + * The feature id for the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMAND__CODE = 1; + + /** + * The number of structural features of the '<em>Command</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMMAND_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl <em>State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getState() + * @generated + */ + int STATE = 3; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE__NAME = 0; + + /** + * The feature id for the '<em><b>Actions</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE__ACTIONS = 1; + + /** + * The feature id for the '<em><b>Transitions</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE__TRANSITIONS = 2; + + /** + * The number of structural features of the '<em>State</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATE_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.TransitionImpl <em>Transition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.TransitionImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getTransition() + * @generated + */ + int TRANSITION = 4; + + /** + * The feature id for the '<em><b>Event</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__EVENT = 0; + + /** + * The feature id for the '<em><b>State</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION__STATE = 1; + + /** + * The number of structural features of the '<em>Transition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TRANSITION_FEATURE_COUNT = 2; + + + /** + * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine <em>Statemachine</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Statemachine</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine + * @generated + */ + EClass getStatemachine(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getEvents <em>Events</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Events</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getEvents() + * @see #getStatemachine() + * @generated + */ + EReference getStatemachine_Events(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getResetEvents <em>Reset Events</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Reset Events</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getResetEvents() + * @see #getStatemachine() + * @generated + */ + EReference getStatemachine_ResetEvents(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getCommands <em>Commands</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Commands</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getCommands() + * @see #getStatemachine() + * @generated + */ + EReference getStatemachine_Commands(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getStates <em>States</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>States</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine#getStates() + * @see #getStatemachine() + * @generated + */ + EReference getStatemachine_States(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event <em>Event</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Event</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event + * @generated + */ + EClass getEvent(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getName() + * @see #getEvent() + * @generated + */ + EAttribute getEvent_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getCode <em>Code</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Code</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event#getCode() + * @see #getEvent() + * @generated + */ + EAttribute getEvent_Code(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command <em>Command</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Command</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command + * @generated + */ + EClass getCommand(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getName() + * @see #getCommand() + * @generated + */ + EAttribute getCommand_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getCode <em>Code</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Code</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command#getCode() + * @see #getCommand() + * @generated + */ + EAttribute getCommand_Code(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State <em>State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>State</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State + * @generated + */ + EClass getState(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getName() + * @see #getState() + * @generated + */ + EAttribute getState_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getActions <em>Actions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Actions</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getActions() + * @see #getState() + * @generated + */ + EReference getState_Actions(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getTransitions <em>Transitions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Transitions</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State#getTransitions() + * @see #getState() + * @generated + */ + EReference getState_Transitions(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Transition</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition + * @generated + */ + EClass getTransition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getEvent <em>Event</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Event</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getEvent() + * @see #getTransition() + * @generated + */ + EReference getTransition_Event(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getState <em>State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>State</em>'. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getState() + * @see #getTransition() + * @generated + */ + EReference getTransition_State(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + StatemachineFactory getStatemachineFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals + { + /** + * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl <em>Statemachine</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getStatemachine() + * @generated + */ + EClass STATEMACHINE = eINSTANCE.getStatemachine(); + + /** + * The meta object literal for the '<em><b>Events</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATEMACHINE__EVENTS = eINSTANCE.getStatemachine_Events(); + + /** + * The meta object literal for the '<em><b>Reset Events</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATEMACHINE__RESET_EVENTS = eINSTANCE.getStatemachine_ResetEvents(); + + /** + * The meta object literal for the '<em><b>Commands</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATEMACHINE__COMMANDS = eINSTANCE.getStatemachine_Commands(); + + /** + * The meta object literal for the '<em><b>States</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATEMACHINE__STATES = eINSTANCE.getStatemachine_States(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.EventImpl <em>Event</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.EventImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getEvent() + * @generated + */ + EClass EVENT = eINSTANCE.getEvent(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EVENT__NAME = eINSTANCE.getEvent_Name(); + + /** + * The meta object literal for the '<em><b>Code</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EVENT__CODE = eINSTANCE.getEvent_Code(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.CommandImpl <em>Command</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.CommandImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getCommand() + * @generated + */ + EClass COMMAND = eINSTANCE.getCommand(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COMMAND__NAME = eINSTANCE.getCommand_Name(); + + /** + * The meta object literal for the '<em><b>Code</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COMMAND__CODE = eINSTANCE.getCommand_Code(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl <em>State</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getState() + * @generated + */ + EClass STATE = eINSTANCE.getState(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute STATE__NAME = eINSTANCE.getState_Name(); + + /** + * The meta object literal for the '<em><b>Actions</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATE__ACTIONS = eINSTANCE.getState_Actions(); + + /** + * The meta object literal for the '<em><b>Transitions</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STATE__TRANSITIONS = eINSTANCE.getState_Transitions(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.TransitionImpl <em>Transition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.TransitionImpl + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachinePackageImpl#getTransition() + * @generated + */ + EClass TRANSITION = eINSTANCE.getTransition(); + + /** + * The meta object literal for the '<em><b>Event</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__EVENT = eINSTANCE.getTransition_Event(); + + /** + * The meta object literal for the '<em><b>State</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TRANSITION__STATE = eINSTANCE.getTransition_State(); + + } + +} //StatemachinePackage diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Transition.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Transition.java new file mode 100644 index 000000000..70e562c66 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/Transition.java @@ -0,0 +1,81 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Transition</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getEvent <em>Event</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getState <em>State</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getTransition() + * @model + * @generated + */ +public interface Transition extends EObject +{ + /** + * Returns the value of the '<em><b>Event</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Event</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Event</em>' reference. + * @see #setEvent(Event) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getTransition_Event() + * @model + * @generated + */ + Event getEvent(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getEvent <em>Event</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Event</em>' reference. + * @see #getEvent() + * @generated + */ + void setEvent(Event value); + + /** + * Returns the value of the '<em><b>State</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>State</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>State</em>' reference. + * @see #setState(State) + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#getTransition_State() + * @model + * @generated + */ + State getState(); + + /** + * Sets the value of the '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition#getState <em>State</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>State</em>' reference. + * @see #getState() + * @generated + */ + void setState(State value); + +} // Transition diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/CommandImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/CommandImpl.java new file mode 100644 index 000000000..9fb807448 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/CommandImpl.java @@ -0,0 +1,236 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Command</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.CommandImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.CommandImpl#getCode <em>Code</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CommandImpl extends MinimalEObjectImpl.Container implements Command +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected static final String CODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected String code = CODE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CommandImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return StatemachinePackage.Literals.COMMAND; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.COMMAND__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCode() + { + return code; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCode(String newCode) + { + String oldCode = code; + code = newCode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.COMMAND__CODE, oldCode, code)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case StatemachinePackage.COMMAND__NAME: + return getName(); + case StatemachinePackage.COMMAND__CODE: + return getCode(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case StatemachinePackage.COMMAND__NAME: + setName((String)newValue); + return; + case StatemachinePackage.COMMAND__CODE: + setCode((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case StatemachinePackage.COMMAND__NAME: + setName(NAME_EDEFAULT); + return; + case StatemachinePackage.COMMAND__CODE: + setCode(CODE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case StatemachinePackage.COMMAND__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case StatemachinePackage.COMMAND__CODE: + return CODE_EDEFAULT == null ? code != null : !CODE_EDEFAULT.equals(code); + } + 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(" (name: "); + result.append(name); + result.append(", code: "); + result.append(code); + result.append(')'); + return result.toString(); + } + +} //CommandImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/EventImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/EventImpl.java new file mode 100644 index 000000000..b8e737c3f --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/EventImpl.java @@ -0,0 +1,236 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Event</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.EventImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.EventImpl#getCode <em>Code</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class EventImpl extends MinimalEObjectImpl.Container implements Event +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected static final String CODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected String code = CODE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EventImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return StatemachinePackage.Literals.EVENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.EVENT__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCode() + { + return code; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCode(String newCode) + { + String oldCode = code; + code = newCode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.EVENT__CODE, oldCode, code)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case StatemachinePackage.EVENT__NAME: + return getName(); + case StatemachinePackage.EVENT__CODE: + return getCode(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case StatemachinePackage.EVENT__NAME: + setName((String)newValue); + return; + case StatemachinePackage.EVENT__CODE: + setCode((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case StatemachinePackage.EVENT__NAME: + setName(NAME_EDEFAULT); + return; + case StatemachinePackage.EVENT__CODE: + setCode(CODE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case StatemachinePackage.EVENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case StatemachinePackage.EVENT__CODE: + return CODE_EDEFAULT == null ? code != null : !CODE_EDEFAULT.equals(code); + } + 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(" (name: "); + result.append(name); + result.append(", code: "); + result.append(code); + result.append(')'); + return result.toString(); + } + +} //EventImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StateImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StateImpl.java new file mode 100644 index 000000000..10fe929a0 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StateImpl.java @@ -0,0 +1,281 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +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.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>State</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl#getActions <em>Actions</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StateImpl#getTransitions <em>Transitions</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class StateImpl extends MinimalEObjectImpl.Container implements State +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getActions() <em>Actions</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getActions() + * @generated + * @ordered + */ + protected EList<Command> actions; + + /** + * The cached value of the '{@link #getTransitions() <em>Transitions</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTransitions() + * @generated + * @ordered + */ + protected EList<Transition> transitions; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StateImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return StatemachinePackage.Literals.STATE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.STATE__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Command> getActions() + { + if (actions == null) + { + actions = new EObjectResolvingEList<Command>(Command.class, this, StatemachinePackage.STATE__ACTIONS); + } + return actions; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Transition> getTransitions() + { + if (transitions == null) + { + transitions = new EObjectContainmentEList<Transition>(Transition.class, this, StatemachinePackage.STATE__TRANSITIONS); + } + return transitions; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case StatemachinePackage.STATE__TRANSITIONS: + return ((InternalEList<?>)getTransitions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case StatemachinePackage.STATE__NAME: + return getName(); + case StatemachinePackage.STATE__ACTIONS: + return getActions(); + case StatemachinePackage.STATE__TRANSITIONS: + return getTransitions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case StatemachinePackage.STATE__NAME: + setName((String)newValue); + return; + case StatemachinePackage.STATE__ACTIONS: + getActions().clear(); + getActions().addAll((Collection<? extends Command>)newValue); + return; + case StatemachinePackage.STATE__TRANSITIONS: + getTransitions().clear(); + getTransitions().addAll((Collection<? extends Transition>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case StatemachinePackage.STATE__NAME: + setName(NAME_EDEFAULT); + return; + case StatemachinePackage.STATE__ACTIONS: + getActions().clear(); + return; + case StatemachinePackage.STATE__TRANSITIONS: + getTransitions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case StatemachinePackage.STATE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case StatemachinePackage.STATE__ACTIONS: + return actions != null && !actions.isEmpty(); + case StatemachinePackage.STATE__TRANSITIONS: + return transitions != null && !transitions.isEmpty(); + } + 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(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //StateImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachineFactoryImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachineFactoryImpl.java new file mode 100644 index 000000000..db0f3d138 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachineFactoryImpl.java @@ -0,0 +1,157 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.*; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class StatemachineFactoryImpl extends EFactoryImpl implements StatemachineFactory +{ + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static StatemachineFactory init() + { + try + { + StatemachineFactory theStatemachineFactory = (StatemachineFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/parsley/examples/fowlerdsl/Statemachine"); + if (theStatemachineFactory != null) + { + return theStatemachineFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new StatemachineFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineFactoryImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case StatemachinePackage.STATEMACHINE: return createStatemachine(); + case StatemachinePackage.EVENT: return createEvent(); + case StatemachinePackage.COMMAND: return createCommand(); + case StatemachinePackage.STATE: return createState(); + case StatemachinePackage.TRANSITION: return createTransition(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Statemachine createStatemachine() + { + StatemachineImpl statemachine = new StatemachineImpl(); + return statemachine; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Event createEvent() + { + EventImpl event = new EventImpl(); + return event; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Command createCommand() + { + CommandImpl command = new CommandImpl(); + return command; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State createState() + { + StateImpl state = new StateImpl(); + return state; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Transition createTransition() + { + TransitionImpl transition = new TransitionImpl(); + return transition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachinePackage getStatemachinePackage() + { + return (StatemachinePackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static StatemachinePackage getPackage() + { + return StatemachinePackage.eINSTANCE; + } + +} //StatemachineFactoryImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachineImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachineImpl.java new file mode 100644 index 000000000..9ed040b03 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachineImpl.java @@ -0,0 +1,285 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Statemachine</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl#getEvents <em>Events</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl#getResetEvents <em>Reset Events</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl#getCommands <em>Commands</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.StatemachineImpl#getStates <em>States</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class StatemachineImpl extends MinimalEObjectImpl.Container implements Statemachine +{ + /** + * The cached value of the '{@link #getEvents() <em>Events</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEvents() + * @generated + * @ordered + */ + protected EList<Event> events; + + /** + * The cached value of the '{@link #getResetEvents() <em>Reset Events</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getResetEvents() + * @generated + * @ordered + */ + protected EList<Event> resetEvents; + + /** + * The cached value of the '{@link #getCommands() <em>Commands</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCommands() + * @generated + * @ordered + */ + protected EList<Command> commands; + + /** + * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStates() + * @generated + * @ordered + */ + protected EList<State> states; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachineImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return StatemachinePackage.Literals.STATEMACHINE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Event> getEvents() + { + if (events == null) + { + events = new EObjectContainmentEList<Event>(Event.class, this, StatemachinePackage.STATEMACHINE__EVENTS); + } + return events; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Event> getResetEvents() + { + if (resetEvents == null) + { + resetEvents = new EObjectResolvingEList<Event>(Event.class, this, StatemachinePackage.STATEMACHINE__RESET_EVENTS); + } + return resetEvents; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Command> getCommands() + { + if (commands == null) + { + commands = new EObjectContainmentEList<Command>(Command.class, this, StatemachinePackage.STATEMACHINE__COMMANDS); + } + return commands; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<State> getStates() + { + if (states == null) + { + states = new EObjectContainmentEList<State>(State.class, this, StatemachinePackage.STATEMACHINE__STATES); + } + return states; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case StatemachinePackage.STATEMACHINE__EVENTS: + return ((InternalEList<?>)getEvents()).basicRemove(otherEnd, msgs); + case StatemachinePackage.STATEMACHINE__COMMANDS: + return ((InternalEList<?>)getCommands()).basicRemove(otherEnd, msgs); + case StatemachinePackage.STATEMACHINE__STATES: + return ((InternalEList<?>)getStates()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case StatemachinePackage.STATEMACHINE__EVENTS: + return getEvents(); + case StatemachinePackage.STATEMACHINE__RESET_EVENTS: + return getResetEvents(); + case StatemachinePackage.STATEMACHINE__COMMANDS: + return getCommands(); + case StatemachinePackage.STATEMACHINE__STATES: + return getStates(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case StatemachinePackage.STATEMACHINE__EVENTS: + getEvents().clear(); + getEvents().addAll((Collection<? extends Event>)newValue); + return; + case StatemachinePackage.STATEMACHINE__RESET_EVENTS: + getResetEvents().clear(); + getResetEvents().addAll((Collection<? extends Event>)newValue); + return; + case StatemachinePackage.STATEMACHINE__COMMANDS: + getCommands().clear(); + getCommands().addAll((Collection<? extends Command>)newValue); + return; + case StatemachinePackage.STATEMACHINE__STATES: + getStates().clear(); + getStates().addAll((Collection<? extends State>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case StatemachinePackage.STATEMACHINE__EVENTS: + getEvents().clear(); + return; + case StatemachinePackage.STATEMACHINE__RESET_EVENTS: + getResetEvents().clear(); + return; + case StatemachinePackage.STATEMACHINE__COMMANDS: + getCommands().clear(); + return; + case StatemachinePackage.STATEMACHINE__STATES: + getStates().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case StatemachinePackage.STATEMACHINE__EVENTS: + return events != null && !events.isEmpty(); + case StatemachinePackage.STATEMACHINE__RESET_EVENTS: + return resetEvents != null && !resetEvents.isEmpty(); + case StatemachinePackage.STATEMACHINE__COMMANDS: + return commands != null && !commands.isEmpty(); + case StatemachinePackage.STATEMACHINE__STATES: + return states != null && !states.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //StatemachineImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachinePackageImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachinePackageImpl.java new file mode 100644 index 000000000..edfab9f04 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/StatemachinePackageImpl.java @@ -0,0 +1,421 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachineFactory; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class StatemachinePackageImpl extends EPackageImpl implements StatemachinePackage +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass statemachineEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass eventEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass commandEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass stateEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass transitionEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage#eNS_URI + * @see #init() + * @generated + */ + private StatemachinePackageImpl() + { + super(eNS_URI, StatemachineFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link StatemachinePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static StatemachinePackage init() + { + if (isInited) return (StatemachinePackage)EPackage.Registry.INSTANCE.getEPackage(StatemachinePackage.eNS_URI); + + // Obtain or create and register package + StatemachinePackageImpl theStatemachinePackage = (StatemachinePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StatemachinePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StatemachinePackageImpl()); + + isInited = true; + + // Create package meta-data objects + theStatemachinePackage.createPackageContents(); + + // Initialize created meta-data + theStatemachinePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theStatemachinePackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(StatemachinePackage.eNS_URI, theStatemachinePackage); + return theStatemachinePackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getStatemachine() + { + return statemachineEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStatemachine_Events() + { + return (EReference)statemachineEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStatemachine_ResetEvents() + { + return (EReference)statemachineEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStatemachine_Commands() + { + return (EReference)statemachineEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStatemachine_States() + { + return (EReference)statemachineEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getEvent() + { + return eventEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getEvent_Name() + { + return (EAttribute)eventEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getEvent_Code() + { + return (EAttribute)eventEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getCommand() + { + return commandEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCommand_Name() + { + return (EAttribute)commandEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCommand_Code() + { + return (EAttribute)commandEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getState() + { + return stateEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getState_Name() + { + return (EAttribute)stateEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getState_Actions() + { + return (EReference)stateEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getState_Transitions() + { + return (EReference)stateEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTransition() + { + return transitionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_Event() + { + return (EReference)transitionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTransition_State() + { + return (EReference)transitionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineFactory getStatemachineFactory() + { + return (StatemachineFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + statemachineEClass = createEClass(STATEMACHINE); + createEReference(statemachineEClass, STATEMACHINE__EVENTS); + createEReference(statemachineEClass, STATEMACHINE__RESET_EVENTS); + createEReference(statemachineEClass, STATEMACHINE__COMMANDS); + createEReference(statemachineEClass, STATEMACHINE__STATES); + + eventEClass = createEClass(EVENT); + createEAttribute(eventEClass, EVENT__NAME); + createEAttribute(eventEClass, EVENT__CODE); + + commandEClass = createEClass(COMMAND); + createEAttribute(commandEClass, COMMAND__NAME); + createEAttribute(commandEClass, COMMAND__CODE); + + stateEClass = createEClass(STATE); + createEAttribute(stateEClass, STATE__NAME); + createEReference(stateEClass, STATE__ACTIONS); + createEReference(stateEClass, STATE__TRANSITIONS); + + transitionEClass = createEClass(TRANSITION); + createEReference(transitionEClass, TRANSITION__EVENT); + createEReference(transitionEClass, TRANSITION__STATE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + + // Initialize classes and features; add operations and parameters + initEClass(statemachineEClass, Statemachine.class, "Statemachine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getStatemachine_Events(), this.getEvent(), null, "events", null, 0, -1, Statemachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStatemachine_ResetEvents(), this.getEvent(), null, "resetEvents", null, 0, -1, Statemachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStatemachine_Commands(), this.getCommand(), null, "commands", null, 0, -1, Statemachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStatemachine_States(), this.getState(), null, "states", null, 0, -1, Statemachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(eventEClass, Event.class, "Event", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEvent_Name(), ecorePackage.getEString(), "name", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getEvent_Code(), ecorePackage.getEString(), "code", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(commandEClass, Command.class, "Command", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCommand_Name(), ecorePackage.getEString(), "name", null, 0, 1, Command.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCommand_Code(), ecorePackage.getEString(), "code", null, 0, 1, Command.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getState_Name(), ecorePackage.getEString(), "name", null, 0, 1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getState_Actions(), this.getCommand(), null, "actions", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getState_Transitions(), this.getTransition(), null, "transitions", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getTransition_Event(), this.getEvent(), null, "event", null, 0, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTransition_State(), this.getState(), null, "state", null, 0, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //StatemachinePackageImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/TransitionImpl.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/TransitionImpl.java new file mode 100644 index 000000000..3b130fa0c --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/impl/TransitionImpl.java @@ -0,0 +1,242 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage; +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition; + +import org.eclipse.emf.common.notify.Notification; + +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.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Transition</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.TransitionImpl#getEvent <em>Event</em>}</li> + * <li>{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.impl.TransitionImpl#getState <em>State</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TransitionImpl extends MinimalEObjectImpl.Container implements Transition +{ + /** + * The cached value of the '{@link #getEvent() <em>Event</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEvent() + * @generated + * @ordered + */ + protected Event event; + + /** + * The cached value of the '{@link #getState() <em>State</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getState() + * @generated + * @ordered + */ + protected State state; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TransitionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return StatemachinePackage.Literals.TRANSITION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Event getEvent() + { + if (event != null && event.eIsProxy()) + { + InternalEObject oldEvent = (InternalEObject)event; + event = (Event)eResolveProxy(oldEvent); + if (event != oldEvent) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, StatemachinePackage.TRANSITION__EVENT, oldEvent, event)); + } + } + return event; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Event basicGetEvent() + { + return event; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEvent(Event newEvent) + { + Event oldEvent = event; + event = newEvent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__EVENT, oldEvent, event)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State getState() + { + if (state != null && state.eIsProxy()) + { + InternalEObject oldState = (InternalEObject)state; + state = (State)eResolveProxy(oldState); + if (state != oldState) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, StatemachinePackage.TRANSITION__STATE, oldState, state)); + } + } + return state; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public State basicGetState() + { + return state; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setState(State newState) + { + State oldState = state; + state = newState; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.TRANSITION__STATE, oldState, state)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case StatemachinePackage.TRANSITION__EVENT: + if (resolve) return getEvent(); + return basicGetEvent(); + case StatemachinePackage.TRANSITION__STATE: + if (resolve) return getState(); + return basicGetState(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case StatemachinePackage.TRANSITION__EVENT: + setEvent((Event)newValue); + return; + case StatemachinePackage.TRANSITION__STATE: + setState((State)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case StatemachinePackage.TRANSITION__EVENT: + setEvent((Event)null); + return; + case StatemachinePackage.TRANSITION__STATE: + setState((State)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case StatemachinePackage.TRANSITION__EVENT: + return event != null; + case StatemachinePackage.TRANSITION__STATE: + return state != null; + } + return super.eIsSet(featureID); + } + +} //TransitionImpl diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/util/StatemachineAdapterFactory.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/util/StatemachineAdapterFactory.java new file mode 100644 index 000000000..ac8219a7a --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/util/StatemachineAdapterFactory.java @@ -0,0 +1,215 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.util; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.*; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage + * @generated + */ +public class StatemachineAdapterFactory extends AdapterFactoryImpl +{ + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static StatemachinePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineAdapterFactory() + { + if (modelPackage == null) + { + modelPackage = StatemachinePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) + { + if (object == modelPackage) + { + return true; + } + if (object instanceof EObject) + { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatemachineSwitch<Adapter> modelSwitch = + new StatemachineSwitch<Adapter>() + { + @Override + public Adapter caseStatemachine(Statemachine object) + { + return createStatemachineAdapter(); + } + @Override + public Adapter caseEvent(Event object) + { + return createEventAdapter(); + } + @Override + public Adapter caseCommand(Command object) + { + return createCommandAdapter(); + } + @Override + public Adapter caseState(State object) + { + return createStateAdapter(); + } + @Override + public Adapter caseTransition(Transition object) + { + return createTransitionAdapter(); + } + @Override + public Adapter defaultCase(EObject object) + { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) + { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine <em>Statemachine</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Statemachine + * @generated + */ + public Adapter createStatemachineAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event <em>Event</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Event + * @generated + */ + public Adapter createEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command <em>Command</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Command + * @generated + */ + public Adapter createCommandAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State <em>State</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.State + * @generated + */ + public Adapter createStateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition <em>Transition</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.Transition + * @generated + */ + public Adapter createTransitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() + { + return null; + } + +} //StatemachineAdapterFactory diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/util/StatemachineSwitch.java b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/util/StatemachineSwitch.java new file mode 100644 index 000000000..435a2b84f --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/src-gen/org/eclipse/emf/parsley/examples/fowlerdsl/statemachine/util/StatemachineSwitch.java @@ -0,0 +1,214 @@ +/** + * <copyright> + * </copyright> + * + */ +package org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.util; + +import org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.eclipse.emf.parsley.examples.fowlerdsl.statemachine.StatemachinePackage + * @generated + */ +public class StatemachineSwitch<T> extends Switch<T> +{ + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static StatemachinePackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StatemachineSwitch() + { + if (modelPackage == null) + { + modelPackage = StatemachinePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @parameter ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) + { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) + { + switch (classifierID) + { + case StatemachinePackage.STATEMACHINE: + { + Statemachine statemachine = (Statemachine)theEObject; + T result = caseStatemachine(statemachine); + if (result == null) result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.EVENT: + { + Event event = (Event)theEObject; + T result = caseEvent(event); + if (result == null) result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.COMMAND: + { + Command command = (Command)theEObject; + T result = caseCommand(command); + if (result == null) result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.STATE: + { + State state = (State)theEObject; + T result = caseState(state); + if (result == null) result = defaultCase(theEObject); + return result; + } + case StatemachinePackage.TRANSITION: + { + Transition transition = (Transition)theEObject; + T result = caseTransition(transition); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Statemachine</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Statemachine</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatemachine(Statemachine object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Event</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Event</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEvent(Event object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Command</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Command</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCommand(Command object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>State</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>State</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseState(State object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Transition</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Transition</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTransition(Transition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) + { + return null; + } + +} //StatemachineSwitch |