/**
*/
package modes3;
import org.eclipse.emf.ecore.EObject;
/**
*
* A representation of the model object 'Train'.
*
*
*
* The following features are supported:
*
*
* - {@link modes3.Train#getLocation Location}
* - {@link modes3.Train#getId Id}
* - {@link modes3.Train#getSpeed Speed}
*
*
* @see modes3.Modes3Package#getTrain()
* @model
* @generated
*/
public interface Train extends EObject {
/**
* Returns the value of the 'Location' reference.
* It is bidirectional and its opposite is '{@link modes3.Segment#getOccupiedBy Occupied By}'.
*
*
* @return the value of the 'Location' reference.
* @see #setLocation(Segment)
* @see modes3.Modes3Package#getTrain_Location()
* @see modes3.Segment#getOccupiedBy
* @model opposite="occupiedBy" required="true"
* @generated
*/
Segment getLocation();
/**
* Sets the value of the '{@link modes3.Train#getLocation Location}' reference.
*
*
* @param value the new value of the 'Location' reference.
* @see #getLocation()
* @generated
*/
void setLocation(Segment value);
/**
* Returns the value of the 'Id' attribute.
*
*
* @return the value of the 'Id' attribute.
* @see #setId(int)
* @see modes3.Modes3Package#getTrain_Id()
* @model
* @generated
*/
int getId();
/**
* Sets the value of the '{@link modes3.Train#getId Id}' attribute.
*
*
* @param value the new value of the 'Id' attribute.
* @see #getId()
* @generated
*/
void setId(int value);
/**
* Returns the value of the 'Speed' attribute.
*
*
* @return the value of the 'Speed' attribute.
* @see #setSpeed(double)
* @see modes3.Modes3Package#getTrain_Speed()
* @model
* @generated
*/
double getSpeed();
/**
* Sets the value of the '{@link modes3.Train#getSpeed Speed}' attribute.
*
*
* @param value the new value of the 'Speed' attribute.
* @see #getSpeed()
* @generated
*/
void setSpeed(double value);
} // Train