/**
* Copyright (c) 2014-2016 IncQuery Labs Ltd.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Akos Horvath, Abel Hegedus, Tamas Borbas, Zoltan Ujhelyi, Istvan David - initial API and implementation
*/
package org.eclipse.viatra.examples.cps.cyberPhysicalSystem;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Request</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.viatra.examples.cps.cyberPhysicalSystem.Request#getRequirements <em>Requirements</em>}</li>
* </ul>
*
* @see org.eclipse.viatra.examples.cps.cyberPhysicalSystem.CyberPhysicalSystemPackage#getRequest()
* @model
* @generated
*/
public interface Request extends Identifiable {
/**
* Returns the value of the '<em><b>Requirements</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.viatra.examples.cps.cyberPhysicalSystem.Requirement}.
* It is bidirectional and its opposite is '{@link org.eclipse.viatra.examples.cps.cyberPhysicalSystem.Requirement#getRequest <em>Request</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Requirements</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Requirements</em>' containment reference list.
* @see #isSetRequirements()
* @see #unsetRequirements()
* @see org.eclipse.viatra.examples.cps.cyberPhysicalSystem.CyberPhysicalSystemPackage#getRequest_Requirements()
* @see org.eclipse.viatra.examples.cps.cyberPhysicalSystem.Requirement#getRequest
* @model opposite="request" containment="true" unsettable="true"
* @generated
*/
EList<Requirement> getRequirements();
/**
* Unsets the value of the '{@link org.eclipse.viatra.examples.cps.cyberPhysicalSystem.Request#getRequirements <em>Requirements</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetRequirements()
* @see #getRequirements()
* @generated
*/
void unsetRequirements();
/**
* Returns whether the value of the '{@link org.eclipse.viatra.examples.cps.cyberPhysicalSystem.Request#getRequirements <em>Requirements</em>}' containment reference list is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Requirements</em>' containment reference list is set.
* @see #unsetRequirements()
* @see #getRequirements()
* @generated
*/
boolean isSetRequirements();
} // Request