/**
* Copyright (c) 2011 Stephane Begaudeau.
* 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:
* Stephane Begaudeau - initial API and implementation
*/
package com.github.sbegaudeau.acceleo.modules.psm.gen.scala.model.scala;
import org.eclipse.emf.ecore.EFactory;
/**
* <!-- begin-user-doc -->
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
* @see com.github.sbegaudeau.acceleo.modules.psm.gen.scala.model.scala.ScalaPackage
* @generated
*/
public interface ScalaFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
ScalaFactory eINSTANCE = com.github.sbegaudeau.acceleo.modules.psm.gen.scala.model.scala.impl.ScalaFactoryImpl
.init();
/**
* Returns a new object of class '<em>Extendable Classifier</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Extendable Classifier</em>'.
* @generated
*/
ExtendableClassifier createExtendableClassifier();
/**
* Returns a new object of class '<em>Class</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Class</em>'.
* @generated
*/
Class createClass();
/**
* Returns a new object of class '<em>Object</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Object</em>'.
* @generated
*/
Object createObject();
/**
* Returns a new object of class '<em>Trait</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Trait</em>'.
* @generated
*/
Trait createTrait();
/**
* Returns a new object of class '<em>Field</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Field</em>'.
* @generated
*/
Field createField();
/**
* Returns a new object of class '<em>Constructor</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Constructor</em>'.
* @generated
*/
Constructor createConstructor();
/**
* Returns a new object of class '<em>Method</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Method</em>'.
* @generated
*/
Method createMethod();
/**
* Returns a new object of class '<em>Method Signature</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Method Signature</em>'.
* @generated
*/
MethodSignature createMethodSignature();
/**
* Returns a new object of class '<em>Model</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Model</em>'.
* @generated
*/
Model createModel();
/**
* Returns a new object of class '<em>Parameter</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Parameter</em>'.
* @generated
*/
Parameter createParameter();
/**
* Returns a new object of class '<em>Package</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Package</em>'.
* @generated
*/
Package createPackage();
/**
* Returns a new object of class '<em>File</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>File</em>'.
* @generated
*/
File createFile();
/**
* Returns a new object of class '<em>Visibility</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Visibility</em>'.
* @generated
*/
Visibility createVisibility();
/**
* Returns an instance of data type '<em>Visibility Kind</em>' corresponding the given literal.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal a literal of the data type.
* @return a new instance value of the data type.
* @generated
*/
VisibilityKind createVisibilityKind(String literal);
/**
* Returns a literal representation of an instance of data type '<em>Visibility Kind</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param instanceValue an instance value of the data type.
* @return a literal representation of the instance value.
* @generated
*/
String convertVisibilityKind(VisibilityKind instanceValue);
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
ScalaPackage getScalaPackage();
} //ScalaFactory