/**
* <copyright>
* </copyright>
*
*/
package org.eclipse.xtext.example.arithmetics.arithmetics.impl;
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;
import org.eclipse.xtext.example.arithmetics.arithmetics.*;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class ArithmeticsFactoryImpl extends EFactoryImpl implements ArithmeticsFactory
{
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static ArithmeticsFactory init()
{
try
{
ArithmeticsFactory theArithmeticsFactory = (ArithmeticsFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/Xtext/example/Arithmetics");
if (theArithmeticsFactory != null)
{
return theArithmeticsFactory;
}
}
catch (Exception exception)
{
EcorePlugin.INSTANCE.log(exception);
}
return new ArithmeticsFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ArithmeticsFactoryImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass)
{
switch (eClass.getClassifierID())
{
case ArithmeticsPackage.MODULE: return createModule();
case ArithmeticsPackage.IMPORT: return createImport();
case ArithmeticsPackage.STATEMENT: return createStatement();
case ArithmeticsPackage.DEFINITION: return createDefinition();
case ArithmeticsPackage.DECLARED_PARAMETER: return createDeclaredParameter();
case ArithmeticsPackage.ABSTRACT_DEFINITION: return createAbstractDefinition();
case ArithmeticsPackage.EVALUATION: return createEvaluation();
case ArithmeticsPackage.EXPRESSION: return createExpression();
case ArithmeticsPackage.PLUS: return createPlus();
case ArithmeticsPackage.MINUS: return createMinus();
case ArithmeticsPackage.MULTI: return createMulti();
case ArithmeticsPackage.DIV: return createDiv();
case ArithmeticsPackage.NUMBER_LITERAL: return createNumberLiteral();
case ArithmeticsPackage.FUNCTION_CALL: return createFunctionCall();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Module createModule()
{
ModuleImpl module = new ModuleImpl();
return module;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Import createImport()
{
ImportImpl import_ = new ImportImpl();
return import_;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Statement createStatement()
{
StatementImpl statement = new StatementImpl();
return statement;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Definition createDefinition()
{
DefinitionImpl definition = new DefinitionImpl();
return definition;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DeclaredParameter createDeclaredParameter()
{
DeclaredParameterImpl declaredParameter = new DeclaredParameterImpl();
return declaredParameter;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AbstractDefinition createAbstractDefinition()
{
AbstractDefinitionImpl abstractDefinition = new AbstractDefinitionImpl();
return abstractDefinition;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Evaluation createEvaluation()
{
EvaluationImpl evaluation = new EvaluationImpl();
return evaluation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expression createExpression()
{
ExpressionImpl expression = new ExpressionImpl();
return expression;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Plus createPlus()
{
PlusImpl plus = new PlusImpl();
return plus;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Minus createMinus()
{
MinusImpl minus = new MinusImpl();
return minus;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Multi createMulti()
{
MultiImpl multi = new MultiImpl();
return multi;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Div createDiv()
{
DivImpl div = new DivImpl();
return div;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NumberLiteral createNumberLiteral()
{
NumberLiteralImpl numberLiteral = new NumberLiteralImpl();
return numberLiteral;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public FunctionCall createFunctionCall()
{
FunctionCallImpl functionCall = new FunctionCallImpl();
return functionCall;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ArithmeticsPackage getArithmeticsPackage()
{
return (ArithmeticsPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static ArithmeticsPackage getPackage()
{
return ArithmeticsPackage.eINSTANCE;
}
} //ArithmeticsFactoryImpl