blob: a0bb078aaba308c60a2e4183032610785d7fc17d [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Boolean</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="Bag.html" title="Bag(T)">
<link rel="next" href="Class.html" title="Class">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
Boolean
</h1>
<div class="section" title="Boolean">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Boolean"></a>
<span class="bold"><strong>
<code class="code">Boolean</code>
</strong></span>
</h2>
</div>
</div>
</div>
<p>The standard type Boolean represents the common true/false values.
Boolean is itself an instance of the metatype PrimitiveType (from UML).</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">=(object2 : OclSelf[?]) : Boolean[1]</code>
precedence:
<code class="code">EQUALITY</code>
</p>
<p>Returns
<code class="code">true</code> if the logical value of
<code class="code">self</code> is the same as the numeric value of object2,
<code class="code">false</code> otherwise.
</p>
<p>
<code class="code">&lt;&gt;(object2 : OclSelf[?]) : Boolean[1]</code>
precedence:
<code class="code">EQUALITY</code>
</p>
<p>Returns
<code class="code">true</code> if the logical value of
<code class="code">self</code> is the not same as the numeric value of object2,
<code class="code">false</code> otherwise.
</p>
<p>
<code class="code">allInstances() : Set(OclSelf[*|1])</code>
</p>
<p>Returns
<code class="code">Set{false, true}</code>.
</p>
<p>
<code class="code">and(b : Boolean[?]) : Boolean[?] invalidating validating</code>
precedence:
<code class="code">AND</code>
</p>
<p>
<code class="code">false</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">false</code>.
Otherwise
<code class="code">invalid</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">invalid</code> .
Otherwise
<code class="code">null</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">null</code>.
Otherwise
<code class="code">true</code>.
</p>
<div class="literallayout">
<p>
<code class="code">body:&nbsp;if&nbsp;self.oclIsInvalid()&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;false&nbsp;then&nbsp;false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;false&nbsp;then&nbsp;false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;b<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;false&nbsp;then&nbsp;false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif<br>
</code>
</p>
</div>
<p></p>
<p>
<code class="code">implies(b : Boolean[?]) : Boolean[?] invalidating validating</code>
precedence:
<code class="code">IMPLIES</code>
</p>
<p>
<code class="code">true</code> if
<code class="code">self</code> is
<code class="code">false</code>, or if
<code class="code">b</code> is
<code class="code">true</code>.
Otherwise
<code class="code">invalid</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">invalid</code>.
Otherwise
<code class="code">null</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">null</code>.
Otherwise
<code class="code">false</code>.
</p>
<div class="literallayout">
<p>
<code class="code">body:&nbsp;if&nbsp;self.oclIsInvalid()&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;true&nbsp;then&nbsp;true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;false&nbsp;then&nbsp;true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;b<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;true&nbsp;then&nbsp;true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;null&nbsp;then&nbsp;b<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif<br>
</code>
</p>
</div>
<p></p>
<p>
<code class="code">not() : Boolean[?]</code>
precedence:
<code class="code">UNARY</code>
</p>
<p>
<code class="code">true</code> if
<code class="code">self</code> is
<code class="code">false</code>.
<code class="code">false</code> if
<code class="code">self</code> is
<code class="code">true</code>.
<code class="code">null</code> if
<code class="code">self</code> is
<code class="code">null</code>.
Otherwise
<code class="code">invalid</code>.
</p>
<div class="literallayout">
<p>
<code class="code">body:&nbsp;if&nbsp;self.oclIsInvalid()&nbsp;then&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;self&nbsp;=&nbsp;false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif<br>
</code>
</p>
</div>
<p></p>
<p>
<code class="code">or(b : Boolean[?]) : Boolean[?] invalidating validating</code>
precedence:
<code class="code">OR</code>
</p>
<p>
<code class="code">true</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">true</code>.
Otherwise
<code class="code">invalid</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">invalid</code>.
Otherwise
<code class="code">null</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">null</code>.
Otherwise
<code class="code">false</code>.
</p>
<div class="literallayout">
<p>
<code class="code">body:&nbsp;if&nbsp;self.oclIsInvalid()&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;true&nbsp;then&nbsp;true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;true&nbsp;then&nbsp;true<br>
&nbsp;&nbsp;else&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;b<br>
&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;true&nbsp;then&nbsp;true<br>
&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif<br>
</code>
</p>
</div>
<p></p>
<p>
<code class="code">toString() : String[1]</code>
</p>
<p>Converts
<code class="code">self</code> to a string value.
</p>
<p>
<code class="code">xor(b : Boolean[?]) : Boolean[?]</code>
precedence:
<code class="code">XOR</code>
</p>
<p>
<code class="code">true</code> if
<code class="code">self</code> is
<code class="code">true</code> and
<code class="code">b</code> is
<code class="code">false</code>, or if
<code class="code">self</code> is
<code class="code">false</code> and
<code class="code">b</code> is
<code class="code">true</code>.
<code class="code">false</code> if
<code class="code">self</code> is
<code class="code">true</code> and
<code class="code">b</code> is
<code class="code">true</code>, or if
<code class="code">self</code> is
<code class="code">false</code> and
<code class="code">b</code> is
<code class="code">false</code>.
Otherwise
<code class="code">invalid</code> if either
<code class="code">self</code> or
<code class="code">b</code> is
<code class="code">invalid</code>.
Otherwise
<code class="code">null</code>.
</p>
<div class="literallayout">
<p>
<code class="code">body:&nbsp;if&nbsp;self.oclIsInvalid()&nbsp;then&nbsp;self<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b.oclIsInvalid()&nbsp;then&nbsp;b<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;self&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;b&nbsp;=&nbsp;null&nbsp;then&nbsp;null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;self&nbsp;&lt;&gt;&nbsp;b<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif&nbsp;endif&nbsp;endif&nbsp;endif<br>
</code>
</p>
</div>
<p></p>
</div>
</body>
</html>