/**
* generated by Xtext 2.21.0
*/
package org.eclipse.viatra.solver.language.solverLanguage;
import org.eclipse.emf.common.util.EList;
/**
*
* A representation of the model object 'Class Definition'.
*
*
*
* The following features are supported:
*
*
* - {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}
*
*
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition()
* @model
* @generated
*/
public interface ClassDefinition extends Statement
{
/**
* Returns the value of the 'Abstract' attribute.
*
*
* @return the value of the 'Abstract' attribute.
* @see #setAbstract(boolean)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract()
* @model
* @generated
*/
boolean isAbstract();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}' attribute.
*
*
* @param value the new value of the 'Abstract' attribute.
* @see #isAbstract()
* @generated
*/
void setAbstract(boolean value);
/**
* Returns the value of the 'Name' attribute.
*
*
* @return the value of the 'Name' attribute.
* @see #setName(String)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}' attribute.
*
*
* @param value the new value of the 'Name' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the 'Superclasses' reference list.
* The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
*
*
* @return the value of the 'Superclasses' reference list.
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses()
* @model
* @generated
*/
EList getSuperclasses();
/**
* Returns the value of the 'Members' containment reference list.
* The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
*
*
* @return the value of the 'Members' containment reference list.
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members()
* @model containment="true"
* @generated
*/
EList getMembers();
} // ClassDefinition