/**
*/
package org.eclipse.viatra.solver.language.model.problem;
import org.eclipse.emf.common.util.EList;
/**
*
* A representation of the model object 'Atom'.
*
*
*
* The following features are supported:
*
*
* - {@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation Relation}
* - {@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure Transitive Closure}
* - {@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments Arguments}
*
*
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom()
* @model
* @generated
*/
public interface Atom extends Literal {
/**
* Returns the value of the 'Relation' reference.
*
*
* @return the value of the 'Relation' reference.
* @see #setRelation(Relation)
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Relation()
* @model
* @generated
*/
Relation getRelation();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation Relation}' reference.
*
*
* @param value the new value of the 'Relation' reference.
* @see #getRelation()
* @generated
*/
void setRelation(Relation value);
/**
* Returns the value of the 'Arguments' containment reference list.
* The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Argument}.
*
*
* @return the value of the 'Arguments' containment reference list.
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments()
* @model containment="true"
* @generated
*/
EList getArguments();
/**
* Returns the value of the 'Transitive Closure' attribute.
*
*
* @return the value of the 'Transitive Closure' attribute.
* @see #setTransitiveClosure(boolean)
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_TransitiveClosure()
* @model
* @generated
*/
boolean isTransitiveClosure();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure Transitive Closure}' attribute.
*
*
* @param value the new value of the 'Transitive Closure' attribute.
* @see #isTransitiveClosure()
* @generated
*/
void setTransitiveClosure(boolean value);
} // Atom