/**
* generated by Xtext 2.21.0
*/
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 'Problem'.
*
*
* @return a new object of class 'Problem'.
* @generated
*/
Problem createProblem();
/**
* Returns a new object of class 'Statement'.
*
*
* @return a new object of class 'Statement'.
* @generated
*/
Statement createStatement();
/**
* 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 'Unnamed Error Prediate Definition'.
*
*
* @return a new object of class 'Unnamed Error Prediate Definition'.
* @generated
*/
UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition();
/**
* Returns a new object of class 'Default Definition'.
*
*
* @return a new object of class 'Default Definition'.
* @generated
*/
DefaultDefinition createDefaultDefinition();
/**
* Returns a new object of class 'Metric Definition'.
*
*
* @return a new object of class 'Metric Definition'.
* @generated
*/
MetricDefinition createMetricDefinition();
/**
* Returns a new object of class 'Extern Predicate Definition'.
*
*
* @return a new object of class 'Extern Predicate Definition'.
* @generated
*/
ExternPredicateDefinition createExternPredicateDefinition();
/**
* Returns a new object of class 'Extern Metric Definition'.
*
*
* @return a new object of class 'Extern Metric Definition'.
* @generated
*/
ExternMetricDefinition createExternMetricDefinition();
/**
* Returns a new object of class 'Extern Aggregator Definition'.
*
*
* @return a new object of class 'Extern Aggregator Definition'.
* @generated
*/
ExternAggregatorDefinition createExternAggregatorDefinition();
/**
* Returns a new object of class 'Extern Datatype Definition'.
*
*
* @return a new object of class 'Extern Datatype Definition'.
* @generated
*/
ExternDatatypeDefinition createExternDatatypeDefinition();
/**
* Returns a new object of class 'Named Element'.
*
*
* @return a new object of class 'Named Element'.
* @generated
*/
NamedElement createNamedElement();
/**
* Returns a new object of class 'If Else'.
*
*
* @return a new object of class 'If Else'.
* @generated
*/
IfElse createIfElse();
/**
* Returns a new object of class 'Let'.
*
*
* @return a new object of class 'Let'.
* @generated
*/
Let createLet();
/**
* 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 'Case'.
*
*
* @return a new object of class 'Case'.
* @generated
*/
Case createCase();
/**
* Returns a new object of class 'Local Variables'.
*
*
* @return a new object of class 'Local Variables'.
* @generated
*/
LocalVariables createLocalVariables();
/**
* Returns a new object of class 'Quantified Expression'.
*
*
* @return a new object of class 'Quantified Expression'.
* @generated
*/
QuantifiedExpression createQuantifiedExpression();
/**
* Returns a new object of class 'Aggregation'.
*
*
* @return a new object of class 'Aggregation'.
* @generated
*/
Aggregation createAggregation();
/**
* Returns a new object of class 'Call'.
*
*
* @return a new object of class 'Call'.
* @generated
*/
Call createCall();
/**
* 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 'Argument'.
*
*
* @return a new object of class 'Argument'.
* @generated
*/
Argument createArgument();
/**
* 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 'Typed Argument'.
*
*
* @return a new object of class 'Typed Argument'.
* @generated
*/
TypedArgument createTypedArgument();
/**
* 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 'Reference'.
*
*
* @return a new object of class 'Reference'.
* @generated
*/
Reference createReference();
/**
* Returns a new object of class 'Interval'.
*
*
* @return a new object of class 'Interval'.
* @generated
*/
Interval createInterval();
/**
* Returns a new object of class 'Literal'.
*
*
* @return a new object of class 'Literal'.
* @generated
*/
Literal createLiteral();
/**
* 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 'Numeric Literal'.
*
*
* @return a new object of class 'Numeric Literal'.
* @generated
*/
NumericLiteral createNumericLiteral();
/**
* 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 'Empty Interval Literal'.
*
*
* @return a new object of class 'Empty Interval Literal'.
* @generated
*/
EmptyIntervalLiteral createEmptyIntervalLiteral();
/**
* 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 'Class Definition'.
*
*
* @return a new object of class 'Class Definition'.
* @generated
*/
ClassDefinition createClassDefinition();
/**
* Returns a new object of class 'Member Definition'.
*
*
* @return a new object of class 'Member Definition'.
* @generated
*/
MemberDefinition createMemberDefinition();
/**
* Returns a new object of class 'Multiplicity'.
*
*
* @return a new object of class 'Multiplicity'.
* @generated
*/
Multiplicity createMultiplicity();
/**
* Returns a new object of class 'Many Multiplicity'.
*
*
* @return a new object of class 'Many Multiplicity'.
* @generated
*/
ManyMultiplicity createManyMultiplicity();
/**
* 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 'Scope Definition'.
*
*
* @return a new object of class 'Scope Definition'.
* @generated
*/
ScopeDefinition createScopeDefinition();
/**
* Returns a new object of class 'Exact Scope Definition'.
*
*
* @return a new object of class 'Exact Scope Definition'.
* @generated
*/
ExactScopeDefinition createExactScopeDefinition();
/**
* Returns a new object of class 'Bounded Scope Definition'.
*
*
* @return a new object of class 'Bounded Scope Definition'.
* @generated
*/
BoundedScopeDefinition createBoundedScopeDefinition();
/**
* Returns a new object of class 'Lower Bounded Scope Definition'.
*
*
* @return a new object of class 'Lower Bounded Scope Definition'.
* @generated
*/
LowerBoundedScopeDefinition createLowerBoundedScopeDefinition();
/**
* Returns a new object of class 'Objective Definition'.
*
*
* @return a new object of class 'Objective Definition'.
* @generated
*/
ObjectiveDefinition createObjectiveDefinition();
/**
* Returns a new object of class 'Interpretation'.
*
*
* @return a new object of class 'Interpretation'.
* @generated
*/
Interpretation createInterpretation();
/**
* Returns a new object of class 'Variable'.
*
*
* @return a new object of class 'Variable'.
* @generated
*/
Variable createVariable();
/**
* Returns a new object of class 'Disjunction'.
*
*
* @return a new object of class 'Disjunction'.
* @generated
*/
Disjunction createDisjunction();
/**
* Returns a new object of class 'Switch'.
*
*
* @return a new object of class 'Switch'.
* @generated
*/
Switch createSwitch();
/**
* Returns a new object of class 'Conjunction'.
*
*
* @return a new object of class 'Conjunction'.
* @generated
*/
Conjunction createConjunction();
/**
* Returns a new object of class 'Comparison'.
*
*
* @return a new object of class 'Comparison'.
* @generated
*/
Comparison createComparison();
/**
* 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 'Cast Expression'.
*
*
* @return a new object of class 'Cast Expression'.
* @generated
*/
CastExpression createCastExpression();
/**
* 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 'Node'.
*
*
* @return a new object of class 'Node'.
* @generated
*/
Node createNode();
/**
* Returns a new object of class 'Predicate'.
*
*
* @return a new object of class 'Predicate'.
* @generated
*/
Predicate createPredicate();
/**
* Returns a new object of class 'Metric'.
*
*
* @return a new object of class 'Metric'.
* @generated
*/
Metric createMetric();
/**
* Returns the package supported by this factory.
*
*
* @return the package supported by this factory.
* @generated
*/
SolverLanguagePackage getSolverLanguagePackage();
} //SolverLanguageFactory