/**
* Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis,
* Rick Salay.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Alessio Di Sandro - Implementation.
*/
package edu.toronto.cs.se.modelepedia.statemachine.util;
import edu.toronto.cs.se.modelepedia.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 edu.toronto.cs.se.modelepedia.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 caseFiringElement(FiringElement object) {
return createFiringElementAdapter();
}
@Override
public Adapter caseAbstractState(AbstractState object) {
return createAbstractStateAdapter();
}
@Override
public Adapter caseState(State object) {
return createStateAdapter();
}
@Override
public Adapter caseInitialState(InitialState object) {
return createInitialStateAdapter();
}
@Override
public Adapter caseFinalState(FinalState object) {
return createFinalStateAdapter();
}
@Override
public Adapter caseTransition(Transition object) {
return createTransitionAdapter();
}
@Override
public Adapter caseStateAction(StateAction object) {
return createStateActionAdapter();
}
@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 edu.toronto.cs.se.modelepedia.statemachine.StateMachine <em>State Machine</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 edu.toronto.cs.se.modelepedia.statemachine.StateMachine
* @generated
*/
public Adapter createStateMachineAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.statemachine.FiringElement <em>Firing Element</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 edu.toronto.cs.se.modelepedia.statemachine.FiringElement
* @generated
*/
public Adapter createFiringElementAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.statemachine.AbstractState <em>Abstract 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 edu.toronto.cs.se.modelepedia.statemachine.AbstractState
* @generated
*/
public Adapter createAbstractStateAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.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 edu.toronto.cs.se.modelepedia.statemachine.State
* @generated
*/
public Adapter createStateAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.statemachine.InitialState <em>Initial 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 edu.toronto.cs.se.modelepedia.statemachine.InitialState
* @generated
*/
public Adapter createInitialStateAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.statemachine.FinalState <em>Final 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 edu.toronto.cs.se.modelepedia.statemachine.FinalState
* @generated
*/
public Adapter createFinalStateAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.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 edu.toronto.cs.se.modelepedia.statemachine.Transition
* @generated
*/
public Adapter createTransitionAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link edu.toronto.cs.se.modelepedia.statemachine.StateAction <em>State Action</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 edu.toronto.cs.se.modelepedia.statemachine.StateAction
* @generated
*/
public Adapter createStateActionAdapter() {
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