/** * Copyright (c) 2015 committers of YAKINDU and others. * 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: * committers of YAKINDU - initial API and implementation * */ package org.yakindu.sct.model.sgen.impl; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; 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.yakindu.sct.model.sgen.*; import org.yakindu.sct.model.sgen.FeatureConfiguration; import org.yakindu.sct.model.sgen.FeatureParameter; import org.yakindu.sct.model.sgen.FeatureParameterValue; import org.yakindu.sct.model.sgen.FeatureType; import org.yakindu.sct.model.sgen.FeatureTypeLibrary; import org.yakindu.sct.model.sgen.GeneratorConfiguration; import org.yakindu.sct.model.sgen.GeneratorEntry; import org.yakindu.sct.model.sgen.GeneratorModel; import org.yakindu.sct.model.sgen.ParameterTypes; import org.yakindu.sct.model.sgen.SGenFactory; import org.yakindu.sct.model.sgen.SGenPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Factory</b>. * <!-- end-user-doc --> * @generated */ public class SGenFactoryImpl extends EFactoryImpl implements SGenFactory { /** * Creates the default factory implementation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static SGenFactory init() { try { SGenFactory theSGenFactory = (SGenFactory)EPackage.Registry.INSTANCE.getEFactory(SGenPackage.eNS_URI); if (theSGenFactory != null) { return theSGenFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new SGenFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public SGenFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case SGenPackage.GENERATOR_MODEL: return createGeneratorModel(); case SGenPackage.GENERATOR_CONFIGURATION: return createGeneratorConfiguration(); case SGenPackage.FEATURE_TYPE: return createFeatureType(); case SGenPackage.FEATURE_PARAMETER: return createFeatureParameter(); case SGenPackage.FEATURE_CONFIGURATION: return createFeatureConfiguration(); case SGenPackage.GENERATOR_ENTRY: return createGeneratorEntry(); case SGenPackage.FEATURE_PARAMETER_VALUE: return createFeatureParameterValue(); case SGenPackage.FEATURE_TYPE_LIBRARY: return createFeatureTypeLibrary(); case SGenPackage.BOOL_LITERAL: return createBoolLiteral(); case SGenPackage.INT_LITERAL: return createIntLiteral(); case SGenPackage.REAL_LITERAL: return createRealLiteral(); case SGenPackage.STRING_LITERAL: return createStringLiteral(); case SGenPackage.DEPRECATABLE_ELEMENT: return createDeprecatableElement(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object createFromString(EDataType eDataType, String initialValue) { switch (eDataType.getClassifierID()) { case SGenPackage.PARAMETER_TYPES: return createParameterTypesFromString(eDataType, initialValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String convertToString(EDataType eDataType, Object instanceValue) { switch (eDataType.getClassifierID()) { case SGenPackage.PARAMETER_TYPES: return convertParameterTypesToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GeneratorModel createGeneratorModel() { GeneratorModelImpl generatorModel = new GeneratorModelImpl(); return generatorModel; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GeneratorConfiguration createGeneratorConfiguration() { GeneratorConfigurationImpl generatorConfiguration = new GeneratorConfigurationImpl(); return generatorConfiguration; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureType createFeatureType() { FeatureTypeImpl featureType = new FeatureTypeImpl(); return featureType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureParameter createFeatureParameter() { FeatureParameterImpl featureParameter = new FeatureParameterImpl(); return featureParameter; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureConfiguration createFeatureConfiguration() { FeatureConfigurationImpl featureConfiguration = new FeatureConfigurationImpl(); return featureConfiguration; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GeneratorEntry createGeneratorEntry() { GeneratorEntryImpl generatorEntry = new GeneratorEntryImpl(); return generatorEntry; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureParameterValue createFeatureParameterValue() { FeatureParameterValueImpl featureParameterValue = new FeatureParameterValueImpl(); return featureParameterValue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureTypeLibrary createFeatureTypeLibrary() { FeatureTypeLibraryImpl featureTypeLibrary = new FeatureTypeLibraryImpl(); return featureTypeLibrary; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BoolLiteral createBoolLiteral() { BoolLiteralImpl boolLiteral = new BoolLiteralImpl(); return boolLiteral; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IntLiteral createIntLiteral() { IntLiteralImpl intLiteral = new IntLiteralImpl(); return intLiteral; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public RealLiteral createRealLiteral() { RealLiteralImpl realLiteral = new RealLiteralImpl(); return realLiteral; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StringLiteral createStringLiteral() { StringLiteralImpl stringLiteral = new StringLiteralImpl(); return stringLiteral; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DeprecatableElement createDeprecatableElement() { DeprecatableElementImpl deprecatableElement = new DeprecatableElementImpl(); return deprecatableElement; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ParameterTypes createParameterTypesFromString(EDataType eDataType, String initialValue) { ParameterTypes result = ParameterTypes.get(initialValue); if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); return result; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertParameterTypesToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public SGenPackage getSGenPackage() { return (SGenPackage)getEPackage(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static SGenPackage getPackage() { return SGenPackage.eINSTANCE; } } //SGenFactoryImpl