| /** |
| */ |
| package graph; |
| |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.ecore.EReference; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Edge</b></em>'. |
| * <!-- end-user-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * </p> |
| * <ul> |
| * <li>{@link graph.Edge#getSource <em>Source</em>}</li> |
| * <li>{@link graph.Edge#getTarget <em>Target</em>}</li> |
| * <li>{@link graph.Edge#getType <em>Type</em>}</li> |
| * </ul> |
| * |
| * @see graph.GraphPackage#getEdge() |
| * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='CorrectlyTypedEdgesSourceNode CorrectlyTypedEdgesTargetNode'" |
| * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot CorrectlyTypedEdgesSourceNode='self.source.type.eAllReferences -> includes(self.type)' CorrectlyTypedEdgesTargetNode='(self.target.type = self.type.eReferenceType) or (self.target.type.eAllSuperTypes -> includes(self.type.eReferenceType))'" |
| * @generated |
| */ |
| public interface Edge extends EObject { |
| /** |
| * Returns the value of the '<em><b>Source</b></em>' reference. |
| * It is bidirectional and its opposite is '{@link graph.Node#getOutgoing <em>Outgoing</em>}'. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Source</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Source</em>' reference. |
| * @see #setSource(Node) |
| * @see graph.GraphPackage#getEdge_Source() |
| * @see graph.Node#getOutgoing |
| * @model opposite="outgoing" required="true" |
| * @generated |
| */ |
| Node getSource(); |
| |
| /** |
| * Sets the value of the '{@link graph.Edge#getSource <em>Source</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Source</em>' reference. |
| * @see #getSource() |
| * @generated |
| */ |
| void setSource(Node value); |
| |
| /** |
| * Returns the value of the '<em><b>Target</b></em>' reference. |
| * It is bidirectional and its opposite is '{@link graph.Node#getIncoming <em>Incoming</em>}'. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Target</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Target</em>' reference. |
| * @see #setTarget(Node) |
| * @see graph.GraphPackage#getEdge_Target() |
| * @see graph.Node#getIncoming |
| * @model opposite="incoming" required="true" |
| * @generated |
| */ |
| Node getTarget(); |
| |
| /** |
| * Sets the value of the '{@link graph.Edge#getTarget <em>Target</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Target</em>' reference. |
| * @see #getTarget() |
| * @generated |
| */ |
| void setTarget(Node value); |
| |
| /** |
| * Returns the value of the '<em><b>Type</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Type</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Type</em>' reference. |
| * @see #setType(EReference) |
| * @see graph.GraphPackage#getEdge_Type() |
| * @model required="true" |
| * @generated |
| */ |
| EReference getType(); |
| |
| /** |
| * Sets the value of the '{@link graph.Edge#getType <em>Type</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Type</em>' reference. |
| * @see #getType() |
| * @generated |
| */ |
| void setType(EReference value); |
| |
| } // Edge |