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;
014
015import org.eclipse.emf.ecore.EFactory;
016
017/**
018 * <!-- begin-user-doc -->
019 * The <b>Factory</b> for the model.
020 * It provides a create method for each non-abstract class of the model.
021 * <!-- end-user-doc -->
022 * @see de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlPackage
023 * @generated
024 */
025public interface VarlinkIdlFactory extends EFactory
026{
027  /**
028   * The singleton instance of the factory.
029   * <!-- begin-user-doc -->
030   * <!-- end-user-doc -->
031   * @generated
032   */
033  VarlinkIdlFactory eINSTANCE = de.dentrassi.varlink.idl.varlinkIdl.impl.VarlinkIdlFactoryImpl.init();
034
035  /**
036   * Returns a new object of class '<em>Interface</em>'.
037   * <!-- begin-user-doc -->
038   * <!-- end-user-doc -->
039   * @return a new object of class '<em>Interface</em>'.
040   * @generated
041   */
042  Interface createInterface();
043
044  /**
045   * Returns a new object of class '<em>Member</em>'.
046   * <!-- begin-user-doc -->
047   * <!-- end-user-doc -->
048   * @return a new object of class '<em>Member</em>'.
049   * @generated
050   */
051  Member createMember();
052
053  /**
054   * Returns a new object of class '<em>Type Alias</em>'.
055   * <!-- begin-user-doc -->
056   * <!-- end-user-doc -->
057   * @return a new object of class '<em>Type Alias</em>'.
058   * @generated
059   */
060  TypeAlias createTypeAlias();
061
062  /**
063   * Returns a new object of class '<em>Type Alias Definition</em>'.
064   * <!-- begin-user-doc -->
065   * <!-- end-user-doc -->
066   * @return a new object of class '<em>Type Alias Definition</em>'.
067   * @generated
068   */
069  TypeAliasDefinition createTypeAliasDefinition();
070
071  /**
072   * Returns a new object of class '<em>Enum</em>'.
073   * <!-- begin-user-doc -->
074   * <!-- end-user-doc -->
075   * @return a new object of class '<em>Enum</em>'.
076   * @generated
077   */
078  Enum createEnum();
079
080  /**
081   * Returns a new object of class '<em>Object</em>'.
082   * <!-- begin-user-doc -->
083   * <!-- end-user-doc -->
084   * @return a new object of class '<em>Object</em>'.
085   * @generated
086   */
087  Object createObject();
088
089  /**
090   * Returns a new object of class '<em>Field</em>'.
091   * <!-- begin-user-doc -->
092   * <!-- end-user-doc -->
093   * @return a new object of class '<em>Field</em>'.
094   * @generated
095   */
096  Field createField();
097
098  /**
099   * Returns a new object of class '<em>Element Type</em>'.
100   * <!-- begin-user-doc -->
101   * <!-- end-user-doc -->
102   * @return a new object of class '<em>Element Type</em>'.
103   * @generated
104   */
105  ElementType createElementType();
106
107  /**
108   * Returns a new object of class '<em>Array</em>'.
109   * <!-- begin-user-doc -->
110   * <!-- end-user-doc -->
111   * @return a new object of class '<em>Array</em>'.
112   * @generated
113   */
114  Array createArray();
115
116  /**
117   * Returns a new object of class '<em>Dictionary</em>'.
118   * <!-- begin-user-doc -->
119   * <!-- end-user-doc -->
120   * @return a new object of class '<em>Dictionary</em>'.
121   * @generated
122   */
123  Dictionary createDictionary();
124
125  /**
126   * Returns a new object of class '<em>Optional</em>'.
127   * <!-- begin-user-doc -->
128   * <!-- end-user-doc -->
129   * @return a new object of class '<em>Optional</em>'.
130   * @generated
131   */
132  Optional createOptional();
133
134  /**
135   * Returns a new object of class '<em>Type Reference</em>'.
136   * <!-- begin-user-doc -->
137   * <!-- end-user-doc -->
138   * @return a new object of class '<em>Type Reference</em>'.
139   * @generated
140   */
141  TypeReference createTypeReference();
142
143  /**
144   * Returns a new object of class '<em>Basic Type</em>'.
145   * <!-- begin-user-doc -->
146   * <!-- end-user-doc -->
147   * @return a new object of class '<em>Basic Type</em>'.
148   * @generated
149   */
150  BasicType createBasicType();
151
152  /**
153   * Returns a new object of class '<em>Method</em>'.
154   * <!-- begin-user-doc -->
155   * <!-- end-user-doc -->
156   * @return a new object of class '<em>Method</em>'.
157   * @generated
158   */
159  Method createMethod();
160
161  /**
162   * Returns a new object of class '<em>Arguments</em>'.
163   * <!-- begin-user-doc -->
164   * <!-- end-user-doc -->
165   * @return a new object of class '<em>Arguments</em>'.
166   * @generated
167   */
168  Arguments createArguments();
169
170  /**
171   * Returns a new object of class '<em>Result</em>'.
172   * <!-- begin-user-doc -->
173   * <!-- end-user-doc -->
174   * @return a new object of class '<em>Result</em>'.
175   * @generated
176   */
177  Result createResult();
178
179  /**
180   * Returns a new object of class '<em>Error</em>'.
181   * <!-- begin-user-doc -->
182   * <!-- end-user-doc -->
183   * @return a new object of class '<em>Error</em>'.
184   * @generated
185   */
186  Error createError();
187
188  /**
189   * Returns the package supported by this factory.
190   * <!-- begin-user-doc -->
191   * <!-- end-user-doc -->
192   * @return the package supported by this factory.
193   * @generated
194   */
195  VarlinkIdlPackage getVarlinkIdlPackage();
196
197} //VarlinkIdlFactory