/** */ package org.eclipse.viatra.solver.language.model.problem; 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.model.problem.ProblemPackage * @generated */ public interface ProblemFactory extends EFactory { /** * The singleton instance of the factory. * * * @generated */ ProblemFactory eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemFactoryImpl.init(); /** * Returns a new object of class 'Problem'. * * * @return a new object of class 'Problem'. * @generated */ Problem createProblem(); /** * 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 'Reference Declaration'. * * * @return a new object of class 'Reference Declaration'. * @generated */ ReferenceDeclaration createReferenceDeclaration(); /** * 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 'Parameter'. * * * @return a new object of class 'Parameter'. * @generated */ Parameter createParameter(); /** * Returns a new object of class 'Conjunction'. * * * @return a new object of class 'Conjunction'. * @generated */ Conjunction createConjunction(); /** * Returns a new object of class 'Atom'. * * * @return a new object of class 'Atom'. * @generated */ Atom createAtom(); /** * Returns a new object of class 'Implicit Variable'. * * * @return a new object of class 'Implicit Variable'. * @generated */ ImplicitVariable createImplicitVariable(); /** * Returns a new object of class 'Negative Literal'. * * * @return a new object of class 'Negative Literal'. * @generated */ NegativeLiteral createNegativeLiteral(); /** * Returns a new object of class 'Assertion'. * * * @return a new object of class 'Assertion'. * @generated */ Assertion createAssertion(); /** * Returns a new object of class 'Node'. * * * @return a new object of class 'Node'. * @generated */ Node createNode(); /** * 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 'Type Scope'. * * * @return a new object of class 'Type Scope'. * @generated */ TypeScope createTypeScope(); /** * Returns a new object of class 'Range Multiplicity'. * * * @return a new object of class 'Range Multiplicity'. * @generated */ RangeMultiplicity createRangeMultiplicity(); /** * 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 'Unbounded Multiplicity'. * * * @return a new object of class 'Unbounded Multiplicity'. * @generated */ UnboundedMultiplicity createUnboundedMultiplicity(); /** * Returns a new object of class 'Variable Or Node Argument'. * * * @return a new object of class 'Variable Or Node Argument'. * @generated */ VariableOrNodeArgument createVariableOrNodeArgument(); /** * 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 'Int Constant'. * * * @return a new object of class 'Int Constant'. * @generated */ IntConstant createIntConstant(); /** * Returns a new object of class 'Real Constant'. * * * @return a new object of class 'Real Constant'. * @generated */ RealConstant createRealConstant(); /** * Returns a new object of class 'String Constant'. * * * @return a new object of class 'String Constant'. * @generated */ StringConstant createStringConstant(); /** * Returns a new object of class 'Constant Argument'. * * * @return a new object of class 'Constant Argument'. * @generated */ ConstantArgument createConstantArgument(); /** * Returns a new object of class 'Node Assertion Argument'. * * * @return a new object of class 'Node Assertion Argument'. * @generated */ NodeAssertionArgument createNodeAssertionArgument(); /** * Returns a new object of class 'Constant Assertion Argument'. * * * @return a new object of class 'Constant Assertion Argument'. * @generated */ ConstantAssertionArgument createConstantAssertionArgument(); /** * Returns a new object of class 'Node Value Assertion'. * * * @return a new object of class 'Node Value Assertion'. * @generated */ NodeValueAssertion createNodeValueAssertion(); /** * Returns the package supported by this factory. * * * @return the package supported by this factory. * @generated */ ProblemPackage getProblemPackage(); } //ProblemFactory