/**
*/
package org.eclipse.viatra.solver.language.model.problem;
import org.eclipse.emf.common.util.EList;
/**
*
* A representation of the model object 'Class Declaration'.
*
*
*
* The following features are supported:
*
*
* - {@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract Abstract}
* - {@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes Super Types}
* - {@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations Reference Declarations}
* - {@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode New Node}
*
*
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration()
* @model
* @generated
*/
public interface ClassDeclaration extends Relation, Statement {
/**
* Returns the value of the 'Abstract' attribute.
*
*
* @return the value of the 'Abstract' attribute.
* @see #setAbstract(boolean)
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_Abstract()
* @model
* @generated
*/
boolean isAbstract();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract Abstract}' attribute.
*
*
* @param value the new value of the 'Abstract' attribute.
* @see #isAbstract()
* @generated
*/
void setAbstract(boolean value);
/**
* Returns the value of the 'Super Types' reference list.
* The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Relation}.
*
*
* @return the value of the 'Super Types' reference list.
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_SuperTypes()
* @model
* @generated
*/
EList getSuperTypes();
/**
* Returns the value of the 'Reference Declarations' containment reference list.
* The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration}.
*
*
* @return the value of the 'Reference Declarations' containment reference list.
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_ReferenceDeclarations()
* @model containment="true"
* @generated
*/
EList getReferenceDeclarations();
/**
* Returns the value of the 'New Node' containment reference.
*
*
* @return the value of the 'New Node' containment reference.
* @see #setNewNode(Node)
* @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_NewNode()
* @model containment="true"
* @generated
*/
Node getNewNode();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode New Node}' containment reference.
*
*
* @param value the new value of the 'New Node' containment reference.
* @see #getNewNode()
* @generated
*/
void setNewNode(Node value);
} // ClassDeclaration