blob: a5015b6652be81f07bd8a1ff6825ce300bdcedd9 [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>OclMessage</title>
<link href="book.css" rel="stylesheet" type="text/css">
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
<link rel="home" href="index.html" title="OCL Documentation">
<link rel="up" href="StandardLibrary.html" title="The OCL Standard Library">
<link rel="prev" href="OclLambda.html" title="OclLambda">
<link rel="next" href="OclSelf.html" title="OclSelf">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
OclMessage
</h1>
<div class="section" title="OclMessage">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="OclMessage"></a>
<span class="bold"><strong>
<code class="code">OclMessage</code>
</strong></span>
</h2>
</div>
</div>
</div>
<p>OclMessage
This sub clause contains the definition of the standard type OclMessage.
As defined in this sub clause, each ocl message type is actually a template type with one parameter.
&lsquo;T&rsquo; denotes the parameter.
A concrete ocl message type is created by substituting an operation or signal for the T.</p>
<p>The predefined type OclMessage is an instance of MessageType.
Every OclMessage is fully determined by either the operation, or signal given as parameter.
Note that there is conceptually an undefined (infinite) number of these types,
as each is determined by a different operation or signal.
These types are unnamed. Every type has as attributes the name of the operation or signal,
and either all formal parameters of the operation, or all attributes of the signal.
OclMessage is itself an instance of the metatype MessageType.</p>
<p>OclMessage has a number of predefined operations, as shown in the OCL Standard Library.</p>
<p>conformsTo
<a class="link" href="OclAny.html" title="OclAny">
<code class="code">OclAny</code>
</a>
</p>
<p>
<span class="bold"><strong>Operations</strong></span>
</p>
<p>
<code class="code">hasReturned() : Boolean[1]</code>
</p>
<p>True if type of template parameter is an operation call, and the called operation has returned a value.
This implies the fact that the message has been sent. False in all other cases.</p>
<p>
<code class="code">isOperationCall() : Boolean[1]</code>
</p>
<p>Returns
<code class="code">true</code> if the OclMessage represents the sending of a UML Operation call.
</p>
<p>
<code class="code">isSignalSent() : Boolean[1]</code>
</p>
<p>Returns
<code class="code">true</code> if the OclMessage represents the sending of a UML Signal.
</p>
<p>
<code class="code">result() : OclAny[?]</code>
</p>
<p>Returns the result of the called operation, if type of template parameter is an operation call,
and the called operation has returned a value. Otherwise the
<code class="code">invalid</code> value is returned.
</p>
</div>
</body>
</html>