content: /**
   */
  package org.abapgit.adt.backend.model.abapgitexternalrepo.impl;
  
  import org.abapgit.adt.backend.model.abapgitexternalrepo.*;
  
  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;
  
  /**
   * <!-- begin-user-doc -->
   * An implementation of the model <b>Factory</b>.
   * <!-- end-user-doc -->
   * @generated
   */
  public class AbapgitexternalrepoFactoryImpl extends EFactoryImpl implements IAbapgitexternalrepoFactory {
  	/**
  	 * Creates the default factory implementation.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public static IAbapgitexternalrepoFactory init() {
  		try {
  			IAbapgitexternalrepoFactory theAbapgitexternalrepoFactory = (IAbapgitexternalrepoFactory)EPackage.Registry.INSTANCE.getEFactory(IAbapgitexternalrepoPackage.eNS_URI);
  			if (theAbapgitexternalrepoFactory != null) {
  				return theAbapgitexternalrepoFactory;
  			}
  		}
  		catch (Exception exception) {
  			EcorePlugin.INSTANCE.log(exception);
  		}
  		return new AbapgitexternalrepoFactoryImpl();
  	}
  
  	/**
  	 * Creates an instance of the factory.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public AbapgitexternalrepoFactoryImpl() {
  		super();
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public EObject create(EClass eClass) {
  		switch (eClass.getClassifierID()) {
  			case IAbapgitexternalrepoPackage.BRANCH: return createBranch();
  			case IAbapgitexternalrepoPackage.EXTERNAL_REPOSITORY_INFO: return createExternalRepositoryInfo();
  			case IAbapgitexternalrepoPackage.DOCUMENT_ROOT: return createDocumentRoot();
  			case IAbapgitexternalrepoPackage.EXTERNAL_REPOSITORY_INFO_REQUEST: return createExternalRepositoryInfoRequest();
  			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 IAbapgitexternalrepoPackage.ACCESS_MODE:
  				return createAccessModeFromString(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 IAbapgitexternalrepoPackage.ACCESS_MODE:
  				return convertAccessModeToString(eDataType, instanceValue);
  			default:
  				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public IBranch createBranch() {
  		BranchImpl branch = new BranchImpl();
  		return branch;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public IExternalRepositoryInfo createExternalRepositoryInfo() {
  		ExternalRepositoryInfoImpl externalRepositoryInfo = new ExternalRepositoryInfoImpl();
  		return externalRepositoryInfo;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public IDocumentRoot createDocumentRoot() {
  		DocumentRootImpl documentRoot = new DocumentRootImpl();
  		return documentRoot;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public IExternalRepositoryInfoRequest createExternalRepositoryInfoRequest() {
  		ExternalRepositoryInfoRequestImpl externalRepositoryInfoRequest = new ExternalRepositoryInfoRequestImpl();
  		return externalRepositoryInfoRequest;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public AccessMode createAccessModeFromString(EDataType eDataType, String initialValue) {
  		AccessMode result = AccessMode.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 convertAccessModeToString(EDataType eDataType, Object instanceValue) {
  		return instanceValue == null ? null : instanceValue.toString();
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public IAbapgitexternalrepoPackage getAbapgitexternalrepoPackage() {
  		return (IAbapgitexternalrepoPackage)getEPackage();
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @deprecated
  	 * @generated
  	 */
  	@Deprecated
  	public static IAbapgitexternalrepoPackage getPackage() {
  		return IAbapgitexternalrepoPackage.eINSTANCE;
  	}
  
  } //AbapgitexternalrepoFactoryImpl
  