/******************************************************************************* * Copyright (c) 2006 Oracle Corporation. * 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: * Cameron Bateman/Oracle - initial API and implementation * ********************************************************************************/ package org.eclipse.jst.jsf.context.symbol.internal.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.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IType; import org.eclipse.jst.jsf.common.internal.types.ValueType; import org.eclipse.jst.jsf.context.symbol.ERuntimeSource; import org.eclipse.jst.jsf.context.symbol.IBeanInstanceSymbol; import org.eclipse.jst.jsf.context.symbol.IBeanMethodSymbol; import org.eclipse.jst.jsf.context.symbol.IBeanPropertySymbol; import org.eclipse.jst.jsf.context.symbol.IBoundedJavaTypeDescriptor; import org.eclipse.jst.jsf.context.symbol.IBoundedListTypeDescriptor; import org.eclipse.jst.jsf.context.symbol.IBoundedMapTypeDescriptor; import org.eclipse.jst.jsf.context.symbol.IComponentSymbol; import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol; import org.eclipse.jst.jsf.context.symbol.IJavaSymbol; import org.eclipse.jst.jsf.context.symbol.IJavaTypeDescriptor2; import org.eclipse.jst.jsf.context.symbol.IListTypeDescriptor; import org.eclipse.jst.jsf.context.symbol.IMapTypeDescriptor; import org.eclipse.jst.jsf.context.symbol.IMethodSymbol; import org.eclipse.jst.jsf.context.symbol.IPropertySymbol; import org.eclipse.jst.jsf.context.symbol.SymbolFactory; import org.eclipse.jst.jsf.context.symbol.SymbolPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Factory</b>. * <!-- end-user-doc --> * @generated */ public class SymbolFactoryImpl extends EFactoryImpl implements SymbolFactory { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static final String copyright = "Copyright 2006 Oracle"; //$NON-NLS-1$ /** * Creates the default factory implementation. * <!-- begin-user-doc --> * @return the SymbolFactory * <!-- end-user-doc --> * @generated */ public static SymbolFactory init() { try { SymbolFactory theSymbolFactory = (SymbolFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/jst/jsf/context/symbol.ecore"); //$NON-NLS-1$ if (theSymbolFactory != null) { return theSymbolFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new SymbolFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public SymbolFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * @param eClass * @return the model instace for the model class * <!-- end-user-doc --> * @generated */ public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case SymbolPackage.IBEAN_INSTANCE_SYMBOL: return createIBeanInstanceSymbol(); case SymbolPackage.IBEAN_PROPERTY_SYMBOL: return createIBeanPropertySymbol(); case SymbolPackage.IINSTANCE_SYMBOL: return createIInstanceSymbol(); case SymbolPackage.IJAVA_SYMBOL: return createIJavaSymbol(); case SymbolPackage.IJAVA_TYPE_DESCRIPTOR2: return createIJavaTypeDescriptor2(); case SymbolPackage.IBEAN_METHOD_SYMBOL: return createIBeanMethodSymbol(); case SymbolPackage.ICOMPONENT_SYMBOL: return createIComponentSymbol(); case SymbolPackage.IPROPERTY_SYMBOL: return createIPropertySymbol(); case SymbolPackage.IMAP_TYPE_DESCRIPTOR: return createIMapTypeDescriptor(); case SymbolPackage.IMETHOD_SYMBOL: return createIMethodSymbol(); case SymbolPackage.IBOUNDED_MAP_TYPE_DESCRIPTOR: return createIBoundedMapTypeDescriptor(); case SymbolPackage.IBOUNDED_JAVA_TYPE_DESCRIPTOR: return createIBoundedJavaTypeDescriptor(); case SymbolPackage.ILIST_TYPE_DESCRIPTOR: return createIListTypeDescriptor(); case SymbolPackage.IBOUNDED_LIST_TYPE_DESCRIPTOR: return createIBoundedListTypeDescriptor(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> * @param eDataType * @param initialValue * @return an object constructed from the initialValue string * <!-- end-user-doc --> * @generated */ public Object createFromString(EDataType eDataType, String initialValue) { switch (eDataType.getClassifierID()) { case SymbolPackage.ERUNTIME_SOURCE: return createERuntimeSourceFromString(eDataType, initialValue); case SymbolPackage.ITYPE: return createITypeFromString(eDataType, initialValue); case SymbolPackage.IJAVA_ELEMENT: return createIJavaElementFromString(eDataType, initialValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> * @param eDataType * @param instanceValue * @return the string equivelent of eDataType for the instance * <!-- end-user-doc --> * @generated */ public String convertToString(EDataType eDataType, Object instanceValue) { switch (eDataType.getClassifierID()) { case SymbolPackage.ERUNTIME_SOURCE: return convertERuntimeSourceToString(eDataType, instanceValue); case SymbolPackage.ITYPE: return convertITypeToString(eDataType, instanceValue); case SymbolPackage.IJAVA_ELEMENT: return convertIJavaElementToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> * @return a new bean instance symbol * <!-- end-user-doc --> * @generated */ public IBeanInstanceSymbol createIBeanInstanceSymbol() { IBeanInstanceSymbolImpl iBeanInstanceSymbol = new IBeanInstanceSymbolImpl(); return iBeanInstanceSymbol; } /** * <!-- begin-user-doc --> * @return a new bean property symbol * <!-- end-user-doc --> * @generated */ public IBeanPropertySymbol createIBeanPropertySymbol() { IBeanPropertySymbolImpl iBeanPropertySymbol = new IBeanPropertySymbolImpl(); return iBeanPropertySymbol; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IInstanceSymbol createIInstanceSymbol() { IInstanceSymbolImpl iInstanceSymbol = new IInstanceSymbolImpl(); return iInstanceSymbol; } /** * <!-- begin-user-doc --> * @return a new java symbol * <!-- end-user-doc --> * @generated */ public IJavaSymbol createIJavaSymbol() { IJavaSymbolImpl iJavaSymbol = new IJavaSymbolImpl(); return iJavaSymbol; } /** * <!-- begin-user-doc --> * @return a new java type descriptor * <!-- end-user-doc --> * @generated */ public IJavaTypeDescriptor2 createIJavaTypeDescriptor2() { IJavaTypeDescriptor2Impl iJavaTypeDescriptor2 = new IJavaTypeDescriptor2Impl(); return iJavaTypeDescriptor2; } /** * <!-- begin-user-doc --> * @return a new bean method symbol * <!-- end-user-doc --> * @generated */ public IBeanMethodSymbol createIBeanMethodSymbol() { IBeanMethodSymbolImpl iBeanMethodSymbol = new IBeanMethodSymbolImpl(); return iBeanMethodSymbol; } /** * <!-- begin-user-doc --> * @return a new component derived symbol * <!-- end-user-doc --> * @generated */ public IComponentSymbol createIComponentSymbol() { IComponentSymbolImpl iComponentSymbol = new IComponentSymbolImpl(); return iComponentSymbol; } /** * <!-- begin-user-doc --> * @return a new property symbol * <!-- end-user-doc --> * @generated */ public IPropertySymbol createIPropertySymbol() { IPropertySymbolImpl iPropertySymbol = new IPropertySymbolImpl(); return iPropertySymbol; } /** * <!-- begin-user-doc --> * @return create map type descriptor * <!-- end-user-doc --> * @generated */ public IMapTypeDescriptor createIMapTypeDescriptor() { IMapTypeDescriptorImpl iMapTypeDescriptor = new IMapTypeDescriptorImpl(); return iMapTypeDescriptor; } /** * <!-- begin-user-doc --> * @return the method symbol * <!-- end-user-doc --> * @generated */ public IMethodSymbol createIMethodSymbol() { IMethodSymbolImpl iMethodSymbol = new IMethodSymbolImpl(); return iMethodSymbol; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IBoundedMapTypeDescriptor createIBoundedMapTypeDescriptor() { IBoundedMapTypeDescriptorImpl iBoundedMapTypeDescriptor = new IBoundedMapTypeDescriptorImpl(); return iBoundedMapTypeDescriptor; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IBoundedJavaTypeDescriptor createIBoundedJavaTypeDescriptor() { IBoundedJavaTypeDescriptorImpl iBoundedJavaTypeDescriptor = new IBoundedJavaTypeDescriptorImpl(); return iBoundedJavaTypeDescriptor; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IListTypeDescriptor createIListTypeDescriptor() { IListTypeDescriptorImpl iListTypeDescriptor = new IListTypeDescriptorImpl(); return iListTypeDescriptor; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IBoundedListTypeDescriptor createIBoundedListTypeDescriptor() { IBoundedListTypeDescriptorImpl iBoundedListTypeDescriptor = new IBoundedListTypeDescriptorImpl(); return iBoundedListTypeDescriptor; } /** * <!-- begin-user-doc --> * @param eDataType * @param initialValue * @return * <!-- end-user-doc --> * @generated */ public ERuntimeSource createERuntimeSourceFromString(EDataType eDataType, String initialValue) { ERuntimeSource result = ERuntimeSource.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 --> * @param eDataType * @param instanceValue * @return the converted runtime source * <!-- end-user-doc --> * @generated */ public String convertERuntimeSourceToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * @param eDataType * @param initialValue * @return * <!-- end-user-doc --> * @generated */ public IType createITypeFromString(EDataType eDataType, String initialValue) { return (IType)super.createFromString(eDataType, initialValue); } /** * <!-- begin-user-doc --> * @param eDataType * @param instanceValue * @return the converted string * <!-- end-user-doc --> * @generated */ public String convertITypeToString(EDataType eDataType, Object instanceValue) { return super.convertToString(eDataType, instanceValue); } /** * <!-- begin-user-doc --> * @param eDataType * @param initialValue * @return return the java element * <!-- end-user-doc --> * @generated */ public IJavaElement createIJavaElementFromString(EDataType eDataType, String initialValue) { return (IJavaElement)super.createFromString(eDataType, initialValue); } /** * <!-- begin-user-doc --> * @param eDataType * @param instanceValue * @return the converted string * <!-- end-user-doc --> * @generated */ public String convertIJavaElementToString(EDataType eDataType, Object instanceValue) { return super.convertToString(eDataType, instanceValue); } /** * <!-- begin-user-doc --> * @param eDataType * @param initialValue * @return the value type for the data type * <!-- end-user-doc --> * @generated */ public ValueType createValueTypeFromString(EDataType eDataType, String initialValue) { return (ValueType)super.createFromString(eDataType, initialValue); } /** * <!-- begin-user-doc --> * @param eDataType * @param instanceValue * @return the string for the value type * <!-- end-user-doc --> * @generated */ public String convertValueTypeToString(EDataType eDataType, Object instanceValue) { return super.convertToString(eDataType, instanceValue); } /** * <!-- begin-user-doc --> * @return the symbol package * <!-- end-user-doc --> * @generated */ public SymbolPackage getSymbolPackage() { return (SymbolPackage)getEPackage(); } /** * <!-- begin-user-doc --> * @return get the symbol package * <!-- end-user-doc --> * @deprecated * @generated */ public static SymbolPackage getPackage() { return SymbolPackage.eINSTANCE; } } //SymbolFactoryImpl