/**
* generated by Xtext 2.18.0.M3
*/
package org.eclipse.viatra.solver.language.solverLanguage;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
*
* A representation of the model object 'Constraint'.
*
*
*
* The following features are supported:
*
*
* - {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity Polarity}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol Symbol}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams Params}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType Closure Type}
*
*
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint()
* @model
* @generated
*/
public interface Constraint extends EObject
{
/**
* Returns the value of the 'Polarity' containment reference.
*
*
* @return the value of the 'Polarity' containment reference.
* @see #setPolarity(Polarity)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Polarity()
* @model containment="true"
* @generated
*/
Polarity getPolarity();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity Polarity}' containment reference.
*
*
* @param value the new value of the 'Polarity' containment reference.
* @see #getPolarity()
* @generated
*/
void setPolarity(Polarity value);
/**
* Returns the value of the 'Symbol' containment reference.
*
*
* @return the value of the 'Symbol' containment reference.
* @see #setSymbol(ModelSymbol)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Symbol()
* @model containment="true"
* @generated
*/
ModelSymbol getSymbol();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol Symbol}' containment reference.
*
*
* @param value the new value of the 'Symbol' containment reference.
* @see #getSymbol()
* @generated
*/
void setSymbol(ModelSymbol value);
/**
* Returns the value of the 'Params' containment reference list.
* The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Literal}.
*
*
* @return the value of the 'Params' containment reference list.
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Params()
* @model containment="true"
* @generated
*/
EList getParams();
/**
* Returns the value of the 'Closure Type' containment reference.
*
*
* @return the value of the 'Closure Type' containment reference.
* @see #setClosureType(ClosureType)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_ClosureType()
* @model containment="true"
* @generated
*/
ClosureType getClosureType();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType Closure Type}' containment reference.
*
*
* @param value the new value of the 'Closure Type' containment reference.
* @see #getClosureType()
* @generated
*/
void setClosureType(ClosureType value);
} // Constraint