/** * (C) Copyright 2013 Jabylon (http://www.jabylon.org) 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 */ package org.jabylon.properties.impl; import java.io.InputStream; import java.util.Locale; import org.eclipse.emf.common.util.URI; 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.jabylon.properties.*; import org.jabylon.properties.Comment; import org.jabylon.properties.DiffKind; import org.jabylon.properties.Project; import org.jabylon.properties.ProjectLocale; import org.jabylon.properties.ProjectVersion; import org.jabylon.properties.PropertiesFactory; import org.jabylon.properties.PropertiesPackage; import org.jabylon.properties.Property; import org.jabylon.properties.PropertyAnnotation; import org.jabylon.properties.PropertyFile; import org.jabylon.properties.PropertyFileDescriptor; import org.jabylon.properties.PropertyFileDiff; import org.jabylon.properties.ResourceFolder; import org.jabylon.properties.Review; import org.jabylon.properties.ReviewState; import org.jabylon.properties.ScanConfiguration; import org.jabylon.properties.Severity; import org.jabylon.properties.Workspace; /** * <!-- begin-user-doc --> * An implementation of the model <b>Factory</b>. * <!-- end-user-doc --> * @generated */ public class PropertiesFactoryImpl extends EFactoryImpl implements PropertiesFactory { /** * Creates the default factory implementation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static PropertiesFactory init() { try { PropertiesFactory thePropertiesFactory = (PropertiesFactory)EPackage.Registry.INSTANCE.getEFactory(PropertiesPackage.eNS_URI); if (thePropertiesFactory != null) { return thePropertiesFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new PropertiesFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PropertiesFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case PropertiesPackage.PROPERTY_FILE: return (EObject)createPropertyFile(); case PropertiesPackage.PROPERTY: return (EObject)createProperty(); case PropertiesPackage.PROPERTY_FILE_DESCRIPTOR: return (EObject)createPropertyFileDescriptor(); case PropertiesPackage.PROJECT: return (EObject)createProject(); case PropertiesPackage.PROJECT_VERSION: return (EObject)createProjectVersion(); case PropertiesPackage.PROJECT_LOCALE: return (EObject)createProjectLocale(); case PropertiesPackage.WORKSPACE: return (EObject)createWorkspace(); case PropertiesPackage.SCAN_CONFIGURATION: return (EObject)createScanConfiguration(); case PropertiesPackage.REVIEW: return (EObject)createReview(); case PropertiesPackage.COMMENT: return (EObject)createComment(); case PropertiesPackage.PROPERTY_FILE_DIFF: return (EObject)createPropertyFileDiff(); case PropertiesPackage.RESOURCE_FOLDER: return (EObject)createResourceFolder(); case PropertiesPackage.PROPERTY_ANNOTATION: return (EObject)createPropertyAnnotation(); 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 PropertiesPackage.SEVERITY: return createSeverityFromString(eDataType, initialValue); case PropertiesPackage.REVIEW_STATE: return createReviewStateFromString(eDataType, initialValue); case PropertiesPackage.DIFF_KIND: return createDiffKindFromString(eDataType, initialValue); case PropertiesPackage.LOCALE: return createLocaleFromString(eDataType, initialValue); case PropertiesPackage.URI: return createURIFromString(eDataType, initialValue); case PropertiesPackage.INPUT_STREAM: return createInputStreamFromString(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 PropertiesPackage.SEVERITY: return convertSeverityToString(eDataType, instanceValue); case PropertiesPackage.REVIEW_STATE: return convertReviewStateToString(eDataType, instanceValue); case PropertiesPackage.DIFF_KIND: return convertDiffKindToString(eDataType, instanceValue); case PropertiesPackage.LOCALE: return convertLocaleToString(eDataType, instanceValue); case PropertiesPackage.URI: return convertURIToString(eDataType, instanceValue); case PropertiesPackage.INPUT_STREAM: return convertInputStreamToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PropertyFile createPropertyFile() { PropertyFileImpl propertyFile = new PropertyFileImpl(); return propertyFile; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Property createProperty() { PropertyImpl property = new PropertyImpl(); return property; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PropertyFileDescriptor createPropertyFileDescriptor() { PropertyFileDescriptorImpl propertyFileDescriptor = new PropertyFileDescriptorImpl(); return propertyFileDescriptor; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Project createProject() { ProjectImpl project = new ProjectImpl(); return project; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ProjectVersion createProjectVersion() { ProjectVersionImpl projectVersion = new ProjectVersionImpl(); return projectVersion; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ProjectLocale createProjectLocale() { ProjectLocaleImpl projectLocale = new ProjectLocaleImpl(); return projectLocale; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Workspace createWorkspace() { WorkspaceImpl workspace = new WorkspaceImpl(); return workspace; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ScanConfiguration createScanConfiguration() { ScanConfigurationImpl scanConfiguration = new ScanConfigurationImpl(); return scanConfiguration; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Review createReview() { ReviewImpl review = new ReviewImpl(); return review; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Comment createComment() { CommentImpl comment = new CommentImpl(); return comment; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PropertyFileDiff createPropertyFileDiff() { PropertyFileDiffImpl propertyFileDiff = new PropertyFileDiffImpl(); return propertyFileDiff; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ResourceFolder createResourceFolder() { ResourceFolderImpl resourceFolder = new ResourceFolderImpl(); return resourceFolder; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PropertyAnnotation createPropertyAnnotation() { PropertyAnnotationImpl propertyAnnotation = new PropertyAnnotationImpl(); return propertyAnnotation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Severity createSeverityFromString(EDataType eDataType, String initialValue) { Severity result = Severity.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 convertSeverityToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ReviewState createReviewStateFromString(EDataType eDataType, String initialValue) { ReviewState result = ReviewState.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 convertReviewStateToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DiffKind createDiffKindFromString(EDataType eDataType, String initialValue) { DiffKind result = DiffKind.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 convertDiffKindToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public Locale createLocaleFromString(EDataType eDataType, String initialValue) { if(initialValue==null) return null; String[] strings = initialValue.split("_"); String language = strings.length>0 ? strings[0] : ""; String country = strings.length>1 ? strings[1] : ""; String variant = strings.length>2 ? strings[2] : ""; return new Locale(language, country, variant); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public String convertLocaleToString(EDataType eDataType, Object instanceValue) { return instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public URI createURIFromString(EDataType eDataType, String initialValue) { if(initialValue==null) return null; return URI.createURI(initialValue, true); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public String convertURIToString(EDataType eDataType, Object instanceValue) { if(instanceValue==null) return null; return instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public InputStream createInputStreamFromString(EDataType eDataType, String initialValue) { return (InputStream)super.createFromString(eDataType, initialValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertInputStreamToString(EDataType eDataType, Object instanceValue) { return super.convertToString(eDataType, instanceValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PropertiesPackage getPropertiesPackage() { return (PropertiesPackage)getEPackage(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static PropertiesPackage getPackage() { return PropertiesPackage.eINSTANCE; } } //PropertiesFactoryImpl