001/**
002 * ******************************************************************************
003 * Copyright (c) 2018 Red Hat Inc
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *  *
009 * Contributors:
010 *     Jens Reimann - initial API and implementation
011 *  ******************************************************************************
012 */
013package de.dentrassi.varlink.idl.varlinkIdl.impl;
014
015import de.dentrassi.varlink.idl.varlinkIdl.Arguments;
016import de.dentrassi.varlink.idl.varlinkIdl.Array;
017import de.dentrassi.varlink.idl.varlinkIdl.BasicType;
018import de.dentrassi.varlink.idl.varlinkIdl.Dictionary;
019import de.dentrassi.varlink.idl.varlinkIdl.ElementType;
020import de.dentrassi.varlink.idl.varlinkIdl.Field;
021import de.dentrassi.varlink.idl.varlinkIdl.Interface;
022import de.dentrassi.varlink.idl.varlinkIdl.Member;
023import de.dentrassi.varlink.idl.varlinkIdl.Method;
024import de.dentrassi.varlink.idl.varlinkIdl.Optional;
025import de.dentrassi.varlink.idl.varlinkIdl.Result;
026import de.dentrassi.varlink.idl.varlinkIdl.TypeAlias;
027import de.dentrassi.varlink.idl.varlinkIdl.TypeAliasDefinition;
028import de.dentrassi.varlink.idl.varlinkIdl.TypeReference;
029import de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlFactory;
030import de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlPackage;
031
032import org.eclipse.emf.ecore.EClass;
033import org.eclipse.emf.ecore.EObject;
034import org.eclipse.emf.ecore.EPackage;
035
036import org.eclipse.emf.ecore.impl.EFactoryImpl;
037
038import org.eclipse.emf.ecore.plugin.EcorePlugin;
039
040/**
041 * <!-- begin-user-doc -->
042 * An implementation of the model <b>Factory</b>.
043 * <!-- end-user-doc -->
044 * @generated
045 */
046public class VarlinkIdlFactoryImpl extends EFactoryImpl implements VarlinkIdlFactory
047{
048  /**
049   * Creates the default factory implementation.
050   * <!-- begin-user-doc -->
051   * <!-- end-user-doc -->
052   * @generated
053   */
054  public static VarlinkIdlFactory init()
055  {
056    try
057    {
058      VarlinkIdlFactory theVarlinkIdlFactory = (VarlinkIdlFactory)EPackage.Registry.INSTANCE.getEFactory(VarlinkIdlPackage.eNS_URI);
059      if (theVarlinkIdlFactory != null)
060      {
061        return theVarlinkIdlFactory;
062      }
063    }
064    catch (Exception exception)
065    {
066      EcorePlugin.INSTANCE.log(exception);
067    }
068    return new VarlinkIdlFactoryImpl();
069  }
070
071  /**
072   * Creates an instance of the factory.
073   * <!-- begin-user-doc -->
074   * <!-- end-user-doc -->
075   * @generated
076   */
077  public VarlinkIdlFactoryImpl()
078  {
079    super();
080  }
081
082  /**
083   * <!-- begin-user-doc -->
084   * <!-- end-user-doc -->
085   * @generated
086   */
087  @Override
088  public EObject create(EClass eClass)
089  {
090    switch (eClass.getClassifierID())
091    {
092      case VarlinkIdlPackage.INTERFACE: return createInterface();
093      case VarlinkIdlPackage.MEMBER: return createMember();
094      case VarlinkIdlPackage.TYPE_ALIAS: return createTypeAlias();
095      case VarlinkIdlPackage.TYPE_ALIAS_DEFINITION: return createTypeAliasDefinition();
096      case VarlinkIdlPackage.ENUM: return createEnum();
097      case VarlinkIdlPackage.OBJECT: return createObject();
098      case VarlinkIdlPackage.FIELD: return createField();
099      case VarlinkIdlPackage.ELEMENT_TYPE: return createElementType();
100      case VarlinkIdlPackage.ARRAY: return createArray();
101      case VarlinkIdlPackage.DICTIONARY: return createDictionary();
102      case VarlinkIdlPackage.OPTIONAL: return createOptional();
103      case VarlinkIdlPackage.TYPE_REFERENCE: return createTypeReference();
104      case VarlinkIdlPackage.BASIC_TYPE: return createBasicType();
105      case VarlinkIdlPackage.METHOD: return createMethod();
106      case VarlinkIdlPackage.ARGUMENTS: return createArguments();
107      case VarlinkIdlPackage.RESULT: return createResult();
108      case VarlinkIdlPackage.ERROR: return createError();
109      default:
110        throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
111    }
112  }
113
114  /**
115   * <!-- begin-user-doc -->
116   * <!-- end-user-doc -->
117   * @generated
118   */
119  public Interface createInterface()
120  {
121    InterfaceImpl interface_ = new InterfaceImpl();
122    return interface_;
123  }
124
125  /**
126   * <!-- begin-user-doc -->
127   * <!-- end-user-doc -->
128   * @generated
129   */
130  public Member createMember()
131  {
132    MemberImpl member = new MemberImpl();
133    return member;
134  }
135
136  /**
137   * <!-- begin-user-doc -->
138   * <!-- end-user-doc -->
139   * @generated
140   */
141  public TypeAlias createTypeAlias()
142  {
143    TypeAliasImpl typeAlias = new TypeAliasImpl();
144    return typeAlias;
145  }
146
147  /**
148   * <!-- begin-user-doc -->
149   * <!-- end-user-doc -->
150   * @generated
151   */
152  public TypeAliasDefinition createTypeAliasDefinition()
153  {
154    TypeAliasDefinitionImpl typeAliasDefinition = new TypeAliasDefinitionImpl();
155    return typeAliasDefinition;
156  }
157
158  /**
159   * <!-- begin-user-doc -->
160   * <!-- end-user-doc -->
161   * @generated
162   */
163  public de.dentrassi.varlink.idl.varlinkIdl.Enum createEnum()
164  {
165    EnumImpl enum_ = new EnumImpl();
166    return enum_;
167  }
168
169  /**
170   * <!-- begin-user-doc -->
171   * <!-- end-user-doc -->
172   * @generated
173   */
174  public de.dentrassi.varlink.idl.varlinkIdl.Object createObject()
175  {
176    ObjectImpl object = new ObjectImpl();
177    return object;
178  }
179
180  /**
181   * <!-- begin-user-doc -->
182   * <!-- end-user-doc -->
183   * @generated
184   */
185  public Field createField()
186  {
187    FieldImpl field = new FieldImpl();
188    return field;
189  }
190
191  /**
192   * <!-- begin-user-doc -->
193   * <!-- end-user-doc -->
194   * @generated
195   */
196  public ElementType createElementType()
197  {
198    ElementTypeImpl elementType = new ElementTypeImpl();
199    return elementType;
200  }
201
202  /**
203   * <!-- begin-user-doc -->
204   * <!-- end-user-doc -->
205   * @generated
206   */
207  public Array createArray()
208  {
209    ArrayImpl array = new ArrayImpl();
210    return array;
211  }
212
213  /**
214   * <!-- begin-user-doc -->
215   * <!-- end-user-doc -->
216   * @generated
217   */
218  public Dictionary createDictionary()
219  {
220    DictionaryImpl dictionary = new DictionaryImpl();
221    return dictionary;
222  }
223
224  /**
225   * <!-- begin-user-doc -->
226   * <!-- end-user-doc -->
227   * @generated
228   */
229  public Optional createOptional()
230  {
231    OptionalImpl optional = new OptionalImpl();
232    return optional;
233  }
234
235  /**
236   * <!-- begin-user-doc -->
237   * <!-- end-user-doc -->
238   * @generated
239   */
240  public TypeReference createTypeReference()
241  {
242    TypeReferenceImpl typeReference = new TypeReferenceImpl();
243    return typeReference;
244  }
245
246  /**
247   * <!-- begin-user-doc -->
248   * <!-- end-user-doc -->
249   * @generated
250   */
251  public BasicType createBasicType()
252  {
253    BasicTypeImpl basicType = new BasicTypeImpl();
254    return basicType;
255  }
256
257  /**
258   * <!-- begin-user-doc -->
259   * <!-- end-user-doc -->
260   * @generated
261   */
262  public Method createMethod()
263  {
264    MethodImpl method = new MethodImpl();
265    return method;
266  }
267
268  /**
269   * <!-- begin-user-doc -->
270   * <!-- end-user-doc -->
271   * @generated
272   */
273  public Arguments createArguments()
274  {
275    ArgumentsImpl arguments = new ArgumentsImpl();
276    return arguments;
277  }
278
279  /**
280   * <!-- begin-user-doc -->
281   * <!-- end-user-doc -->
282   * @generated
283   */
284  public Result createResult()
285  {
286    ResultImpl result = new ResultImpl();
287    return result;
288  }
289
290  /**
291   * <!-- begin-user-doc -->
292   * <!-- end-user-doc -->
293   * @generated
294   */
295  public de.dentrassi.varlink.idl.varlinkIdl.Error createError()
296  {
297    ErrorImpl error = new ErrorImpl();
298    return error;
299  }
300
301  /**
302   * <!-- begin-user-doc -->
303   * <!-- end-user-doc -->
304   * @generated
305   */
306  public VarlinkIdlPackage getVarlinkIdlPackage()
307  {
308    return (VarlinkIdlPackage)getEPackage();
309  }
310
311  /**
312   * <!-- begin-user-doc -->
313   * <!-- end-user-doc -->
314   * @deprecated
315   * @generated
316   */
317  @Deprecated
318  public static VarlinkIdlPackage getPackage()
319  {
320    return VarlinkIdlPackage.eINSTANCE;
321  }
322
323} //VarlinkIdlFactoryImpl