/**
*/
package org.eclipse.viatra.solver.language.solverLanguage;
import org.eclipse.emf.ecore.EObject;
/**
*
* A representation of the model object 'Path Component'.
*
*
*
* The following features are supported:
*
*
* - {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#getSymbol Symbol}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isInverse Inverse}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isTransitiveClosure Transitive Closure}
* - {@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isReflexiveTransitiveClosure Reflexive Transitive Closure}
*
*
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent()
* @model
* @generated
*/
public interface PathComponent extends EObject {
/**
* Returns the value of the 'Symbol' reference.
*
*
* @return the value of the 'Symbol' reference.
* @see #setSymbol(Symbol)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent_Symbol()
* @model
* @generated
*/
Symbol getSymbol();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#getSymbol Symbol}' reference.
*
*
* @param value the new value of the 'Symbol' reference.
* @see #getSymbol()
* @generated
*/
void setSymbol(Symbol value);
/**
* Returns the value of the 'Inverse' attribute.
*
*
* @return the value of the 'Inverse' attribute.
* @see #setInverse(boolean)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent_Inverse()
* @model
* @generated
*/
boolean isInverse();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isInverse Inverse}' attribute.
*
*
* @param value the new value of the 'Inverse' attribute.
* @see #isInverse()
* @generated
*/
void setInverse(boolean value);
/**
* 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.solverLanguage.SolverLanguagePackage#getPathComponent_TransitiveClosure()
* @model
* @generated
*/
boolean isTransitiveClosure();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isTransitiveClosure Transitive Closure}' attribute.
*
*
* @param value the new value of the 'Transitive Closure' attribute.
* @see #isTransitiveClosure()
* @generated
*/
void setTransitiveClosure(boolean value);
/**
* Returns the value of the 'Reflexive Transitive Closure' attribute.
*
*
* @return the value of the 'Reflexive Transitive Closure' attribute.
* @see #setReflexiveTransitiveClosure(boolean)
* @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPathComponent_ReflexiveTransitiveClosure()
* @model
* @generated
*/
boolean isReflexiveTransitiveClosure();
/**
* Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PathComponent#isReflexiveTransitiveClosure Reflexive Transitive Closure}' attribute.
*
*
* @param value the new value of the 'Reflexive Transitive Closure' attribute.
* @see #isReflexiveTransitiveClosure()
* @generated
*/
void setReflexiveTransitiveClosure(boolean value);
} // PathComponent