/**
* Copyright 2012 Markus Scheidgen
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.hub.emffrag.model.emffrag.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 de.hub.emffrag.model.emffrag.ContainmentIndexedMap;
import de.hub.emffrag.model.emffrag.EmfFragFactory;
import de.hub.emffrag.model.emffrag.EmfFragPackage;
import de.hub.emffrag.model.emffrag.Extension;
import de.hub.emffrag.model.emffrag.IndexedList;
import de.hub.emffrag.model.emffrag.IndexedMap;
import de.hub.emffrag.model.emffrag.Root;
import de.hub.emffrag.model.emffrag.Statistics;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class EmfFragFactoryImpl extends EFactoryImpl implements EmfFragFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static EmfFragFactory init() {
try {
EmfFragFactory theEmfFragFactory = (EmfFragFactory)EPackage.Registry.INSTANCE.getEFactory("http://de.hub.emffrag/emffrag");
if (theEmfFragFactory != null) {
return theEmfFragFactory;
}
}
catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new EmfFragFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EmfFragFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case EmfFragPackage.INDEXED_MAP: return createIndexedMap();
case EmfFragPackage.INDEXED_LIST: return createIndexedList();
case EmfFragPackage.CONTAINMENT_INDEXED_MAP: return createContainmentIndexedMap();
case EmfFragPackage.ROOT: return createRoot();
case EmfFragPackage.STATISTICS: return createStatistics();
case EmfFragPackage.EXTENSION: return createExtension();
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()) {
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()) {
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public <K, V> IndexedMap<K, V> createIndexedMap() {
IndexedMapImpl<K, V> indexedMap = new IndexedMapImpl<K, V>();
return indexedMap;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public <V extends EObject> IndexedList<V> createIndexedList() {
IndexedListImpl<V> indexedList = new IndexedListImpl<V>();
return indexedList;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public <K, V> ContainmentIndexedMap<K, V> createContainmentIndexedMap() {
ContainmentIndexedMapImpl<K, V> containmentIndexedMap = new ContainmentIndexedMapImpl<K, V>();
return containmentIndexedMap;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Root createRoot() {
RootImpl root = new RootImpl();
return root;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Statistics createStatistics() {
StatisticsImpl statistics = new StatisticsImpl();
return statistics;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Extension createExtension() {
ExtensionImpl extension = new ExtensionImpl();
return extension;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EmfFragPackage getEmfFragPackage() {
return (EmfFragPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static EmfFragPackage getPackage() {
return EmfFragPackage.eINSTANCE;
}
} //EmfFragFactoryImpl