blob: dbc88fe952650b6bc19cbbf39bca8a1d9dcfb173 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015, 2019 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
package org.eclipse.qvtd.pivot.qvtschedule;
import java.util.List;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.Property;
/**
* @generated
*/
public interface EdgeConnection extends Connection
{
/**
* Returns the value of the '<em><b>Referred Property</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Referred Property</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Referred Property</em>' reference.
* @see #setReferredProperty(Property)
* @see org.eclipse.qvtd.pivot.qvtschedule.QVTschedulePackage#getEdgeConnection_ReferredProperty()
* @model required="true"
* @generated
*/
Property getReferredProperty();
/**
* Sets the value of the '{@link org.eclipse.qvtd.pivot.qvtschedule.EdgeConnection#getReferredProperty <em>Referred Property</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Referred Property</em>' reference.
* @see #getReferredProperty()
* @generated
*/
void setReferredProperty(Property value);
/**
* Returns the value of the '<em><b>Mandatory Target Edges</b></em>' reference list.
* The list contents are of type {@link org.eclipse.qvtd.pivot.qvtschedule.NavigableEdge}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Mandatory Target Edges</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Mandatory Target Edges</em>' reference list.
* @see org.eclipse.qvtd.pivot.qvtschedule.QVTschedulePackage#getEdgeConnection_MandatoryTargetEdges()
* @model ordered="false"
* @generated
*/
List<NavigableEdge> getMandatoryTargetEdges();
/**
* Returns the value of the '<em><b>Preferred Target Edges</b></em>' reference list.
* The list contents are of type {@link org.eclipse.qvtd.pivot.qvtschedule.NavigableEdge}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Preferred Target Edges</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Preferred Target Edges</em>' reference list.
* @see org.eclipse.qvtd.pivot.qvtschedule.QVTschedulePackage#getEdgeConnection_PreferredTargetEdges()
* @model ordered="false"
* @generated
*/
List<NavigableEdge> getPreferredTargetEdges();
void addUsedTargetEdge(@NonNull NavigableEdge targetEdge, boolean mustBeLater);
@NonNull Set<@NonNull NavigableEdge> getTargetEdges();
boolean isEdge2Edge();
@Nullable ConnectionRole putTargetRole(@NonNull NavigableEdge targetEdge, @NonNull ConnectionRole newConnectionRole);
@Nullable ConnectionRole removeTarget(@NonNull NavigableEdge targetEdge);
}