/** */ package org.archstudio.prolog.xtext.prolog.impl; import org.archstudio.prolog.xtext.prolog.*; 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 PrologFactoryImpl extends EFactoryImpl implements PrologFactory { /** * Creates the default factory implementation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static PrologFactory init() { try { PrologFactory thePrologFactory = (PrologFactory)EPackage.Registry.INSTANCE.getEFactory(PrologPackage.eNS_URI); if (thePrologFactory != null) { return thePrologFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new PrologFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PrologFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case PrologPackage.MODEL: return createModel(); case PrologPackage.EXPRESSION: return createExpression(); case PrologPackage.UNARY_EXPRESSION: return createUnaryExpression(); case PrologPackage.ATOM_EXPRESSION: return createAtomExpression(); case PrologPackage.VARIABLE_EXPRESSION: return createVariableExpression(); case PrologPackage.STRING_EXPRESSION: return createStringExpression(); case PrologPackage.NUMBER_EXPRESSION: return createNumberExpression(); case PrologPackage.LIST_EXPRESSION: return createListExpression(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Model createModel() { ModelImpl model = new ModelImpl(); return model; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Expression createExpression() { ExpressionImpl expression = new ExpressionImpl(); return expression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public UnaryExpression createUnaryExpression() { UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl(); return unaryExpression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AtomExpression createAtomExpression() { AtomExpressionImpl atomExpression = new AtomExpressionImpl(); return atomExpression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public VariableExpression createVariableExpression() { VariableExpressionImpl variableExpression = new VariableExpressionImpl(); return variableExpression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StringExpression createStringExpression() { StringExpressionImpl stringExpression = new StringExpressionImpl(); return stringExpression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NumberExpression createNumberExpression() { NumberExpressionImpl numberExpression = new NumberExpressionImpl(); return numberExpression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ListExpression createListExpression() { ListExpressionImpl listExpression = new ListExpressionImpl(); return listExpression; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PrologPackage getPrologPackage() { return (PrologPackage)getEPackage(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static PrologPackage getPackage() { return PrologPackage.eINSTANCE; } } //PrologFactoryImpl