/**
*/
package org.eclipse.viatra.solver.language.solverLanguage;
import org.eclipse.emf.ecore.EFactory;
/**
*
* The Factory for the model.
* It provides a create method for each non-abstract class of the model.
*
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
* @generated
*/
public interface SolverLanguageFactory extends EFactory {
/**
* The singleton instance of the factory.
*
*
* @generated
*/
SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl
.init();
/**
* Returns a new object of class 'Path Component'.
*
*
* @return a new object of class 'Path Component'.
* @generated
*/
PathComponent createPathComponent();
/**
* Returns a new object of class 'Call'.
*
*
* @return a new object of class 'Call'.
* @generated
*/
Call createCall();
/**
* Returns a new object of class 'Reference'.
*
*
* @return a new object of class 'Reference'.
* @generated
*/
Reference createReference();
/**
* Returns a new object of class 'Argument List'.
*
*
* @return a new object of class 'Argument List'.
* @generated
*/
ArgumentList createArgumentList();
/**
* Returns a new object of class 'Expression Argument'.
*
*
* @return a new object of class 'Expression Argument'.
* @generated
*/
ExpressionArgument createExpressionArgument();
/**
* Returns a new object of class 'Star Argument'.
*
*
* @return a new object of class 'Star Argument'.
* @generated
*/
StarArgument createStarArgument();
/**
* Returns a new object of class 'Variable'.
*
*
* @return a new object of class 'Variable'.
* @generated
*/
Variable createVariable();
/**
* Returns a new object of class 'Unary Expression'.
*
*
* @return a new object of class 'Unary Expression'.
* @generated
*/
UnaryExpression createUnaryExpression();
/**
* Returns a new object of class 'Binary Expression'.
*
*
* @return a new object of class 'Binary Expression'.
* @generated
*/
BinaryExpression createBinaryExpression();
/**
* Returns a new object of class 'Disjunction'.
*
*
* @return a new object of class 'Disjunction'.
* @generated
*/
Disjunction createDisjunction();
/**
* Returns a new object of class 'Conjunction'.
*
*
* @return a new object of class 'Conjunction'.
* @generated
*/
Conjunction createConjunction();
/**
* Returns a new object of class 'Conditional Expression'.
*
*
* @return a new object of class 'Conditional Expression'.
* @generated
*/
ConditionalExpression createConditionalExpression();
/**
* Returns a new object of class 'Switch'.
*
*
* @return a new object of class 'Switch'.
* @generated
*/
Switch createSwitch();
/**
* Returns a new object of class 'Case'.
*
*
* @return a new object of class 'Case'.
* @generated
*/
Case createCase();
/**
* Returns a new object of class 'Let Expression'.
*
*
* @return a new object of class 'Let Expression'.
* @generated
*/
LetExpression createLetExpression();
/**
* Returns a new object of class 'Let Binding'.
*
*
* @return a new object of class 'Let Binding'.
* @generated
*/
LetBinding createLetBinding();
/**
* Returns a new object of class 'Int Literal'.
*
*
* @return a new object of class 'Int Literal'.
* @generated
*/
IntLiteral createIntLiteral();
/**
* Returns a new object of class 'Real Literal'.
*
*
* @return a new object of class 'Real Literal'.
* @generated
*/
RealLiteral createRealLiteral();
/**
* Returns a new object of class 'String Literal'.
*
*
* @return a new object of class 'String Literal'.
* @generated
*/
StringLiteral createStringLiteral();
/**
* Returns a new object of class 'Logic Literal'.
*
*
* @return a new object of class 'Logic Literal'.
* @generated
*/
LogicLiteral createLogicLiteral();
/**
* Returns a new object of class 'Empty Literal'.
*
*
* @return a new object of class 'Empty Literal'.
* @generated
*/
EmptyLiteral createEmptyLiteral();
/**
* Returns a new object of class 'Cast Expression'.
*
*
* @return a new object of class 'Cast Expression'.
* @generated
*/
CastExpression createCastExpression();
/**
* Returns a new object of class 'Count'.
*
*
* @return a new object of class 'Count'.
* @generated
*/
Count createCount();
/**
* Returns a new object of class 'Aggregation'.
*
*
* @return a new object of class 'Aggregation'.
* @generated
*/
Aggregation createAggregation();
/**
* Returns a new object of class 'Forall'.
*
*
* @return a new object of class 'Forall'.
* @generated
*/
Forall createForall();
/**
* Returns a new object of class 'Type Reference'.
*
*
* @return a new object of class 'Type Reference'.
* @generated
*/
TypeReference createTypeReference();
/**
* Returns a new object of class 'Infinity Literal'.
*
*
* @return a new object of class 'Infinity Literal'.
* @generated
*/
InfinityLiteral createInfinityLiteral();
/**
* Returns a new object of class 'Interval'.
*
*
* @return a new object of class 'Interval'.
* @generated
*/
Interval createInterval();
/**
* Returns a new object of class 'Base Relation'.
*
*
* @return a new object of class 'Base Relation'.
* @generated
*/
BaseRelation createBaseRelation();
/**
* Returns a new object of class 'Predicate'.
*
*
* @return a new object of class 'Predicate'.
* @generated
*/
Predicate createPredicate();
/**
* Returns a new object of class 'Datatype'.
*
*
* @return a new object of class 'Datatype'.
* @generated
*/
Datatype createDatatype();
/**
* Returns a new object of class 'Metric'.
*
*
* @return a new object of class 'Metric'.
* @generated
*/
Metric createMetric();
/**
* Returns a new object of class 'Operator'.
*
*
* @return a new object of class 'Operator'.
* @generated
*/
Operator createOperator();
/**
* Returns a new object of class 'Node'.
*
*
* @return a new object of class 'Node'.
* @generated
*/
Node createNode();
/**
* Returns a new object of class 'Predicate Definition'.
*
*
* @return a new object of class 'Predicate Definition'.
* @generated
*/
PredicateDefinition createPredicateDefinition();
/**
* Returns a new object of class 'Function Definition'.
*
*
* @return a new object of class 'Function Definition'.
* @generated
*/
FunctionDefinition createFunctionDefinition();
/**
* Returns a new object of class 'Extern Predicate Declaration'.
*
*
* @return a new object of class 'Extern Predicate Declaration'.
* @generated
*/
ExternPredicateDeclaration createExternPredicateDeclaration();
/**
* Returns a new object of class 'Extern Function Declaration'.
*
*
* @return a new object of class 'Extern Function Declaration'.
* @generated
*/
ExternFunctionDeclaration createExternFunctionDeclaration();
/**
* Returns a new object of class 'Extern Aggregation Operator Declaration'.
*
*
* @return a new object of class 'Extern Aggregation Operator Declaration'.
* @generated
*/
ExternAggregationOperatorDeclaration createExternAggregationOperatorDeclaration();
/**
* Returns a new object of class 'Extern Datatype Declaration'.
*
*
* @return a new object of class 'Extern Datatype Declaration'.
* @generated
*/
ExternDatatypeDeclaration createExternDatatypeDeclaration();
/**
* Returns a new object of class 'Class Declaration'.
*
*
* @return a new object of class 'Class Declaration'.
* @generated
*/
ClassDeclaration createClassDeclaration();
/**
* Returns a new object of class 'Enum Declaration'.
*
*
* @return a new object of class 'Enum Declaration'.
* @generated
*/
EnumDeclaration createEnumDeclaration();
/**
* Returns a new object of class 'Enum Literal'.
*
*
* @return a new object of class 'Enum Literal'.
* @generated
*/
EnumLiteral createEnumLiteral();
/**
* Returns a new object of class 'Field'.
*
*
* @return a new object of class 'Field'.
* @generated
*/
Field createField();
/**
* Returns a new object of class 'Default Assertion'.
*
*
* @return a new object of class 'Default Assertion'.
* @generated
*/
DefaultAssertion createDefaultAssertion();
/**
* Returns a new object of class 'Assertion'.
*
*
* @return a new object of class 'Assertion'.
* @generated
*/
Assertion createAssertion();
/**
* Returns a new object of class 'Unbounded Multiplicity'.
*
*
* @return a new object of class 'Unbounded Multiplicity'.
* @generated
*/
UnboundedMultiplicity createUnboundedMultiplicity();
/**
* Returns a new object of class 'Exact Multiplicity'.
*
*
* @return a new object of class 'Exact Multiplicity'.
* @generated
*/
ExactMultiplicity createExactMultiplicity();
/**
* Returns a new object of class 'Bounded Multiplicity'.
*
*
* @return a new object of class 'Bounded Multiplicity'.
* @generated
*/
BoundedMultiplicity createBoundedMultiplicity();
/**
* Returns a new object of class 'Aggregation Operator'.
*
*
* @return a new object of class 'Aggregation Operator'.
* @generated
*/
AggregationOperator createAggregationOperator();
/**
* Returns a new object of class 'Problem'.
*
*
* @return a new object of class 'Problem'.
* @generated
*/
Problem createProblem();
/**
* Returns a new object of class 'Typed Star Argument'.
*
*
* @return a new object of class 'Typed Star Argument'.
* @generated
*/
TypedStarArgument createTypedStarArgument();
/**
* Returns a new object of class 'Typed Variable Argument'.
*
*
* @return a new object of class 'Typed Variable Argument'.
* @generated
*/
TypedVariableArgument createTypedVariableArgument();
/**
* Returns a new object of class 'Unnamed Error Predicate Defintion'.
*
*
* @return a new object of class 'Unnamed Error Predicate Defintion'.
* @generated
*/
UnnamedErrorPredicateDefintion createUnnamedErrorPredicateDefintion();
/**
* Returns a new object of class 'Objective Declaration'.
*
*
* @return a new object of class 'Objective Declaration'.
* @generated
*/
ObjectiveDeclaration createObjectiveDeclaration();
/**
* Returns a new object of class 'Scope Declaration'.
*
*
* @return a new object of class 'Scope Declaration'.
* @generated
*/
ScopeDeclaration createScopeDeclaration();
/**
* Returns a new object of class 'Exact Scope'.
*
*
* @return a new object of class 'Exact Scope'.
* @generated
*/
ExactScope createExactScope();
/**
* Returns a new object of class 'Bounded Scope'.
*
*
* @return a new object of class 'Bounded Scope'.
* @generated
*/
BoundedScope createBoundedScope();
/**
* Returns a new object of class 'Lower Bounded Scope'.
*
*
* @return a new object of class 'Lower Bounded Scope'.
* @generated
*/
LowerBoundedScope createLowerBoundedScope();
/**
* Returns a new object of class 'Namespace Import'.
*
*
* @return a new object of class 'Namespace Import'.
* @generated
*/
NamespaceImport createNamespaceImport();
/**
* Returns a new object of class 'Import'.
*
*
* @return a new object of class 'Import'.
* @generated
*/
Import createImport();
/**
* Returns a new object of class 'Uri Import'.
*
*
* @return a new object of class 'Uri Import'.
* @generated
*/
UriImport createUriImport();
/**
* Returns the package supported by this factory.
*
*
* @return the package supported by this factory.
* @generated
*/
SolverLanguagePackage getSolverLanguagePackage();
} //SolverLanguageFactory