/*******************************************************************************
 * Copyright (c) 2009, 2014 Xored Software Inc and others.
 * 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:
 *     Xored Software Inc - initial API and implementation and/or initial documentation
 *******************************************************************************/
package org.eclipse.rcptt.tesla.ecl.model.diagram;

import org.eclipse.rcptt.tesla.ecl.model.PathSelector;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Get Target Connection</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see org.eclipse.rcptt.tesla.ecl.model.diagram.DiagramPackage#getGetTargetConnection()
 * @model annotation="http://www.eclipse.org/ecl/docs description='Gets target connection on diagram. ' returns='target connection' example='get-editor Diagram | get-diagram | get-edit-part -name SO | get-edit-part -name SA | get-target-connection 0 | get-property foregroundColor | equals \"#F49316\" | verify-true' recorded='true'"
 * @generated
 */
public interface GetTargetConnection extends PathSelector {
} // GetTargetConnection
