/******************************************************************************* * Copyright (c) 2006-2012 * Software Technology Group, Dresden University of Technology * DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026 * * 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: * Software Technology Group - TU Dresden, Germany; * DevBoost GmbH - Berlin, Germany * - initial API and implementation ******************************************************************************/ /** * <copyright> * </copyright> * * $Id$ */ package org.reuseware.coconut.description.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.reuseware.coconut.description.BrowserState; import org.reuseware.coconut.description.DateFacet; import org.reuseware.coconut.description.DerivationState; import org.reuseware.coconut.description.DescriptionFactory; import org.reuseware.coconut.description.DescriptionPackage; import org.reuseware.coconut.description.DirectDerivation; import org.reuseware.coconut.description.Facet; import org.reuseware.coconut.description.FacetDefinition; import org.reuseware.coconut.description.FacetTypeDecorator; import org.reuseware.coconut.description.FacetValue; import org.reuseware.coconut.description.FacetValueDecorator; import org.reuseware.coconut.description.FragmentDescription; import org.reuseware.coconut.description.FreeTextFacet; import org.reuseware.coconut.description.GUIState; import org.reuseware.coconut.description.LangIndependentDerivation; import org.reuseware.coconut.description.ListFacet; import org.reuseware.coconut.description.MappingDerivation; import org.reuseware.coconut.description.Property; import org.reuseware.coconut.description.RangeFacet; import org.reuseware.coconut.description.TreeFacet; /** * <!-- begin-user-doc --> * An implementation of the model <b>Factory</b>. * <!-- end-user-doc --> * @generated */ public class DescriptionFactoryImpl extends EFactoryImpl implements DescriptionFactory { /** * Creates the default factory implementation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static DescriptionFactory init() { try { DescriptionFactory theDescriptionFactory = (DescriptionFactory)EPackage.Registry.INSTANCE.getEFactory("http://description/1.0"); if (theDescriptionFactory != null) { return theDescriptionFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new DescriptionFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DescriptionFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case DescriptionPackage.BROWSER_STATE: return createBrowserState(); case DescriptionPackage.FACET_DEFINITION: return createFacetDefinition(); case DescriptionPackage.DATE_FACET: return createDateFacet(); case DescriptionPackage.LIST_FACET: return createListFacet(); case DescriptionPackage.RANGE_FACET: return createRangeFacet(); case DescriptionPackage.TREE_FACET: return createTreeFacet(); case DescriptionPackage.FACET: return createFacet(); case DescriptionPackage.FACET_VALUE: return createFacetValue(); case DescriptionPackage.FRAGMENT_DESCRIPTION: return createFragmentDescription(); case DescriptionPackage.PROPERTY: return createProperty(); case DescriptionPackage.FREE_TEXT_FACET: return createFreeTextFacet(); case DescriptionPackage.FACET_TYPE_DECORATOR: return createFacetTypeDecorator(); case DescriptionPackage.FACET_VALUE_DECORATOR: return createFacetValueDecorator(); case DescriptionPackage.DIRECT_DERIVATION: return createDirectDerivation(); case DescriptionPackage.LANG_INDEPENDENT_DERIVATION: return createLangIndependentDerivation(); case DescriptionPackage.MAPPING_DERIVATION: return createMappingDerivation(); 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 DescriptionPackage.DERIVATION_STATE: return createDerivationStateFromString(eDataType, initialValue); case DescriptionPackage.GUI_STATE: return createGUIStateFromString(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 DescriptionPackage.DERIVATION_STATE: return convertDerivationStateToString(eDataType, instanceValue); case DescriptionPackage.GUI_STATE: return convertGUIStateToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BrowserState createBrowserState() { BrowserStateImpl browserState = new BrowserStateImpl(); return browserState; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FacetDefinition createFacetDefinition() { FacetDefinitionImpl facetDefinition = new FacetDefinitionImpl(); return facetDefinition; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DateFacet createDateFacet() { DateFacetImpl dateFacet = new DateFacetImpl(); return dateFacet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ListFacet createListFacet() { ListFacetImpl listFacet = new ListFacetImpl(); return listFacet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public RangeFacet createRangeFacet() { RangeFacetImpl rangeFacet = new RangeFacetImpl(); return rangeFacet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TreeFacet createTreeFacet() { TreeFacetImpl treeFacet = new TreeFacetImpl(); return treeFacet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Facet createFacet() { FacetImpl facet = new FacetImpl(); return facet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FacetValue createFacetValue() { FacetValueImpl facetValue = new FacetValueImpl(); return facetValue; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FragmentDescription createFragmentDescription() { FragmentDescriptionImpl fragmentDescription = new FragmentDescriptionImpl(); return fragmentDescription; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Property createProperty() { PropertyImpl property = new PropertyImpl(); return property; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FreeTextFacet createFreeTextFacet() { FreeTextFacetImpl freeTextFacet = new FreeTextFacetImpl(); return freeTextFacet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FacetTypeDecorator createFacetTypeDecorator() { FacetTypeDecoratorImpl facetTypeDecorator = new FacetTypeDecoratorImpl(); return facetTypeDecorator; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FacetValueDecorator createFacetValueDecorator() { FacetValueDecoratorImpl facetValueDecorator = new FacetValueDecoratorImpl(); return facetValueDecorator; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DirectDerivation createDirectDerivation() { DirectDerivationImpl directDerivation = new DirectDerivationImpl(); return directDerivation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public LangIndependentDerivation createLangIndependentDerivation() { LangIndependentDerivationImpl langIndependentDerivation = new LangIndependentDerivationImpl(); return langIndependentDerivation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public MappingDerivation createMappingDerivation() { MappingDerivationImpl mappingDerivation = new MappingDerivationImpl(); return mappingDerivation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DerivationState createDerivationStateFromString(EDataType eDataType, String initialValue) { DerivationState result = DerivationState.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 convertDerivationStateToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GUIState createGUIStateFromString(EDataType eDataType, String initialValue) { GUIState result = GUIState.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 convertGUIStateToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DescriptionPackage getDescriptionPackage() { return (DescriptionPackage)getEPackage(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static DescriptionPackage getPackage() { return DescriptionPackage.eINSTANCE; } } //DescriptionFactoryImpl