/******************************************************************************* * Copyright (c) 2006-2013 The RCP Company 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: * The RCP Company - initial API and implementation *******************************************************************************/ package com.rcpcompany.uibindings.moao.internal; import java.util.Map; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.emf.common.util.DiagnosticChain; 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.EStructuralFeature; import org.eclipse.emf.ecore.impl.EFactoryImpl; import org.eclipse.emf.ecore.plugin.EcorePlugin; import com.rcpcompany.uibindings.moao.IMOAO; import com.rcpcompany.uibindings.moao.IMOAOFacet; import com.rcpcompany.uibindings.moao.IMOAOFactory; import com.rcpcompany.uibindings.moao.IMOAOMessage; import com.rcpcompany.uibindings.moao.IMOAOPackage; import com.rcpcompany.uibindings.moao.INamedObject; import com.rcpcompany.uibindings.moao.Severity; import com.rcpcompany.utils.basic.TSRegistryUtils; /** * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc --> * * @generated */ public class MOAOFactoryImpl extends EFactoryImpl implements IMOAOFactory { /** * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static IMOAOFactory init() { try { IMOAOFactory theMOAOFactory = (IMOAOFactory) EPackage.Registry.INSTANCE.getEFactory(IMOAOPackage.eNS_URI); if (theMOAOFactory != null) { return theMOAOFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new MOAOFactoryImpl(); } /** * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public MOAOFactoryImpl() { super(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case IMOAOPackage.MOAO: return createMOAO(); case IMOAOPackage.MOAO_FACET: return createMOAOFacet(); case IMOAOPackage.NAMED_OBJECT: return createNamedObject(); case IMOAOPackage.MOAO_MESSAGE: return createMOAOMessage(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public Object createFromString(EDataType eDataType, String initialValue) { switch (eDataType.getClassifierID()) { case IMOAOPackage.SEVERITY: return createSeverityFromString(eDataType, initialValue); case IMOAOPackage.EDIAGNOSTIC_CHAIN: return createEDiagnosticChainFromString(eDataType, initialValue); case IMOAOPackage.EMAP: return createEMapFromString(eDataType, initialValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public String convertToString(EDataType eDataType, Object instanceValue) { switch (eDataType.getClassifierID()) { case IMOAOPackage.SEVERITY: return convertSeverityToString(eDataType, instanceValue); case IMOAOPackage.EDIAGNOSTIC_CHAIN: return convertEDiagnosticChainToString(eDataType, instanceValue); case IMOAOPackage.EMAP: return convertEMapToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public IMOAO createMOAO() { MOAOImpl moao = new MOAOImpl(); return moao; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public IMOAOFacet createMOAOFacet() { MOAOFacetImpl moaoFacet = new MOAOFacetImpl(); return moaoFacet; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public INamedObject createNamedObject() { NamedObjectImpl namedObject = new NamedObjectImpl(); return namedObject; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public IMOAOMessage createMOAOMessage() { MOAOMessageImpl moaoMessage = new MOAOMessageImpl(); return moaoMessage; } /** * <!-- 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() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 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 DiagnosticChain createEDiagnosticChainFromString(EDataType eDataType, String initialValue) { return (DiagnosticChain) super.createFromString(eDataType, initialValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public String convertEDiagnosticChainToString(EDataType eDataType, Object instanceValue) { return super.convertToString(eDataType, instanceValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public Map<?, ?> createEMapFromString(EDataType eDataType, String initialValue) { return (Map<?, ?>) super.createFromString(initialValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public String convertEMapToString(EDataType eDataType, Object instanceValue) { return super.convertToString(instanceValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public IMOAOPackage getMOAOPackage() { return (IMOAOPackage) getEPackage(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @deprecated Use eINSTANCE * @generated NOT */ @Deprecated public static IMOAOPackage getPackage() { return IMOAOPackage.eINSTANCE; } @Override public IMOAOMessage createMOAOMessage(IMOAO moao, EStructuralFeature feature, String owner, Severity severity, String description) { final IMOAOMessage message = createMOAOMessage(); message.setFeature(feature); message.setOwner(owner); message.setSeverity(severity); message.setDescription(description); message.setObject(moao); return message; } @Override public IMOAOMessage createMOAOMessage(IMOAO moao, EStructuralFeature feature, String owner, Severity severity, String description, String details) { final IMOAOMessage message = createMOAOMessage(); message.setFeature(feature); message.setOwner(owner); message.setSeverity(severity); message.setDescription(description); message.setDetails(details); message.setObject(moao); return message; } @Override public IMOAOMessage createMOAOMessage(IMOAO moao, EStructuralFeature feature, String owner, Severity severity, String description, IConfigurationElement... ces) { String details; switch (ces.length) { case 0: details = ""; break; case 1: details = "Location " + TSRegistryUtils.toString(ces[0]); break; default: details = "Locations:"; for (final IConfigurationElement ce : ces) { details += "\n - " + TSRegistryUtils.toString(ce); } break; } return createMOAOMessage(moao, feature, owner, severity, description, details); } } // MOAOFactoryImpl