blob: 903c8e4d59b32b5a7fd5c19a20d659dea4af1398 [file] [log] [blame]
/*
* Copyright (c) 2003, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
*
* $Id: Port.java,v 1.4 2004/06/03 02:59:17 khussey Exp $
*/
package org.eclipse.uml2;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Port</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* Ports represent interaction points between a classifier and its environment. The interfaces associated with a port specify the nature of the interactions that may occur over a port. The required interfaces of a port characterize the requests which may be made from the classifier to its environment through this port. The provided interfaces of a port characterize requests to the classifier that its environment may make through this port. A port has the ability to specify that any requests arriving at this port are handled by the behavior of the instance of the owning classifier, rather than being forwarded to any contained instances, if any.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.Port#isBehavior <em>Is Behavior</em>}</li>
* <li>{@link org.eclipse.uml2.Port#isService <em>Is Service</em>}</li>
* <li>{@link org.eclipse.uml2.Port#getRequireds <em>Required</em>}</li>
* <li>{@link org.eclipse.uml2.Port#getRedefinedPorts <em>Redefined Port</em>}</li>
* <li>{@link org.eclipse.uml2.Port#getProvideds <em>Provided</em>}</li>
* <li>{@link org.eclipse.uml2.Port#getProtocol <em>Protocol</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.UML2Package#getPort()
* @model
* @generated
*/
public interface Port extends Property{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String copyright = "Copyright (c) 2003, 2004 IBM Corporation and others."; //$NON-NLS-1$
/**
* Returns the value of the '<em><b>Is Behavior</b></em>' attribute.
* The default value is <code>"false"</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Is Behavior</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Is Behavior</em>' attribute.
* @see #setIsBehavior(boolean)
* @see org.eclipse.uml2.UML2Package#getPort_IsBehavior()
* @model default="false" dataType="org.eclipse.uml2.Boolean"
* @generated
*/
boolean isBehavior();
/**
* Sets the value of the '{@link org.eclipse.uml2.Port#isBehavior <em>Is Behavior</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Is Behavior</em>' attribute.
* @see #isBehavior()
* @generated
*/
void setIsBehavior(boolean value);
/**
* Returns the value of the '<em><b>Is Service</b></em>' attribute.
* The default value is <code>"true"</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Is Service</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Is Service</em>' attribute.
* @see #setIsService(boolean)
* @see org.eclipse.uml2.UML2Package#getPort_IsService()
* @model default="true" dataType="org.eclipse.uml2.Boolean"
* @generated
*/
boolean isService();
/**
* Sets the value of the '{@link org.eclipse.uml2.Port#isService <em>Is Service</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Is Service</em>' attribute.
* @see #isService()
* @generated
*/
void setIsService(boolean value);
/**
* Returns the value of the '<em><b>Required</b></em>' reference list.
* The list contents are of type {@link org.eclipse.uml2.Interface}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Required</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>Required</em>' reference list.
* @see org.eclipse.uml2.UML2Package#getPort_Required()
* @model type="org.eclipse.uml2.Interface" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getRequireds();
/**
* Retrieves the {@link org.eclipse.uml2.Interface} with the specified name from the '<em><b>Required</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param unqualifiedName The unqualified name of the {@link org.eclipse.uml2.Interface} to retrieve.
* @return The {@link org.eclipse.uml2.Interface} with the specified name, or <code>null</code>.
* @see #getRequireds()
* @generated
*/
Interface getRequired(String unqualifiedName);
/**
* Returns the value of the '<em><b>Redefined Port</b></em>' reference list.
* The list contents are of type {@link org.eclipse.uml2.Port}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Redefined Port</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>Redefined Port</em>' reference list.
* @see org.eclipse.uml2.UML2Package#getPort_RedefinedPort()
* @model type="org.eclipse.uml2.Port" ordered="false"
* @generated
*/
EList getRedefinedPorts();
/**
* Retrieves the {@link org.eclipse.uml2.Port} with the specified name from the '<em><b>Redefined Port</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param unqualifiedName The unqualified name of the {@link org.eclipse.uml2.Port} to retrieve.
* @return The {@link org.eclipse.uml2.Port} with the specified name, or <code>null</code>.
* @see #getRedefinedPorts()
* @generated
*/
Port getRedefinedPort(String unqualifiedName);
/**
* Returns the value of the '<em><b>Provided</b></em>' reference list.
* The list contents are of type {@link org.eclipse.uml2.Interface}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Provided</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>Provided</em>' reference list.
* @see org.eclipse.uml2.UML2Package#getPort_Provided()
* @model type="org.eclipse.uml2.Interface" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getProvideds();
/**
* Retrieves the {@link org.eclipse.uml2.Interface} with the specified name from the '<em><b>Provided</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param unqualifiedName The unqualified name of the {@link org.eclipse.uml2.Interface} to retrieve.
* @return The {@link org.eclipse.uml2.Interface} with the specified name, or <code>null</code>.
* @see #getProvideds()
* @generated
*/
Interface getProvided(String unqualifiedName);
/**
* Returns the value of the '<em><b>Protocol</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Protocol</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Protocol</em>' reference.
* @see #setProtocol(ProtocolStateMachine)
* @see org.eclipse.uml2.UML2Package#getPort_Protocol()
* @model
* @generated
*/
ProtocolStateMachine getProtocol();
/**
* Sets the value of the '{@link org.eclipse.uml2.Port#getProtocol <em>Protocol</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Protocol</em>' reference.
* @see #getProtocol()
* @generated
*/
void setProtocol(ProtocolStateMachine value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model parameters=""
* @generated
*/
EList getRedefinedElements();
} // Port