blob: c5a2ef2fd8f7602387dd44ece7d1cebfec6382c0 [file] [log] [blame]
/*
* Copyright (c) 2003, 2005 IBM Corporation 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:
* IBM - initial API and implementation
*
* $Id: OpaqueExpression.java,v 1.8 2005/05/18 16:38:30 khussey Exp $
*/
package org.eclipse.uml2;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Opaque Expression</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* An expression contains a language-specific text string used to describe a value or values, and an optional specification of the language. One predefined language for specifying expressions is OCL. Natural language or programming languages may also be used.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.OpaqueExpression#getBody <em>Body</em>}</li>
* <li>{@link org.eclipse.uml2.OpaqueExpression#getLanguage <em>Language</em>}</li>
* <li>{@link org.eclipse.uml2.OpaqueExpression#getResult <em>Result</em>}</li>
* <li>{@link org.eclipse.uml2.OpaqueExpression#getBehavior <em>Behavior</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.UML2Package#getOpaqueExpression()
* @model
* @generated
*/
public interface OpaqueExpression extends ValueSpecification{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
String copyright = "Copyright (c) IBM Corporation and others."; //$NON-NLS-1$
/**
* Returns the value of the '<em><b>Body</b></em>' attribute.
* The default value is <code>""</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Body</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The text of the expression.
* <!-- end-model-doc -->
* @return the value of the '<em>Body</em>' attribute.
* @see #setBody(String)
* @see org.eclipse.uml2.UML2Package#getOpaqueExpression_Body()
* @model default="" dataType="org.eclipse.uml2.String"
* extendedMetaData="kind='element'"
* @generated
*/
String getBody();
/**
* Sets the value of the '{@link org.eclipse.uml2.OpaqueExpression#getBody <em>Body</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Body</em>' attribute.
* @see #getBody()
* @generated
*/
void setBody(String value);
/**
* Returns the value of the '<em><b>Language</b></em>' attribute.
* The default value is <code>""</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Language</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Specifies the language in which the expression is stated. The interpretation of the expression body depends on the language. If language is unspecified, it might be implicit from the expression body or the context.
* <!-- end-model-doc -->
* @return the value of the '<em>Language</em>' attribute.
* @see #setLanguage(String)
* @see org.eclipse.uml2.UML2Package#getOpaqueExpression_Language()
* @model default="" dataType="org.eclipse.uml2.String"
* @generated
*/
String getLanguage();
/**
* Sets the value of the '{@link org.eclipse.uml2.OpaqueExpression#getLanguage <em>Language</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Language</em>' attribute.
* @see #getLanguage()
* @generated
*/
void setLanguage(String value);
/**
* Returns the value of the '<em><b>Result</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Result</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Restricts an opaque expression to return exactly one return result. When the invocation of the opaque expression completes, a single set of values is returned to its owner. This association is derived from the single return result parameter of the associated behavior.
* <!-- end-model-doc -->
* @return the value of the '<em>Result</em>' reference.
* @see org.eclipse.uml2.UML2Package#getOpaqueExpression_Result()
* @model transient="true" changeable="false" volatile="true" derived="true"
* @generated
*/
Parameter getResult();
/**
* Returns the value of the '<em><b>Behavior</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Behavior</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Specifies the behavior of the opaque expression.
* <!-- end-model-doc -->
* @return the value of the '<em>Behavior</em>' reference.
* @see #setBehavior(Behavior)
* @see org.eclipse.uml2.UML2Package#getOpaqueExpression_Behavior()
* @model
* @generated
*/
Behavior getBehavior();
/**
* Sets the value of the '{@link org.eclipse.uml2.OpaqueExpression#getBehavior <em>Behavior</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Behavior</em>' reference.
* @see #getBehavior()
* @generated
*/
void setBehavior(Behavior value);
} // OpaqueExpression