Boolean
(Created page with "A boolean in OCL can be both Non-nullable and Nullable. NonNullableBoolean : Boolean NullableBoolean : Boolean? As an attribute on a class that is saved to database, almost...")
 
(Updated Edited template to July 12, 2025.)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
A boolean in OCL can be both Non-nullable and Nullable.
<message>Write the content here to display this box</message>
===== Definition =====
A boolean in OCL can be both Non-nullable and Nullable.
  NonNullableBoolean : Boolean
  NonNullableBoolean : Boolean


  NullableBoolean : Boolean?
  NullableBoolean : Boolean?
As an attribute on a class that is saved to database, almost always use '''non-nullable'''. Why? Because otherwise it will default to null and it's easy to by mistake not handle False and Null correctly.
As an attribute on a class that is saved to the database, almost always use '''non-nullable'''. Why? Because otherwise, it will default to null, and it's easy to handle ''False'' and ''Null'' mistakenly and incorrectly.
 
===== Evaluating =====
Remember to evaluate booleans like this:
'''class.BooleanAttribute'''
'''not class.BooleanAttribute'''
Not like this:
class.BooleanAttribute = True
class.BooleanAttribute = False
i.e. without an equal sign and True, False.
 
===== Mistakes We Have Seen Happen =====
class.BooleanAttribute->notEmpty
The expression will always return True because it will be converted to a list with one Boolean and that list will never be empty.
 
See also [[Initial values and Default Database values]] for more information on adding Boolean values and evolving the database
[[Category:OCL]]
{{Edited|July|12|2025}}

Latest revision as of 05:46, 20 January 2025

This page was created by Lars.olofsson@mdriven.net on 2021-09-12. Last edited by Edgar on 2025-01-20.
Definition

A boolean in OCL can be both Non-nullable and Nullable.

NonNullableBoolean : Boolean
NullableBoolean : Boolean?

As an attribute on a class that is saved to the database, almost always use non-nullable. Why? Because otherwise, it will default to null, and it's easy to handle False and Null mistakenly and incorrectly.

Evaluating

Remember to evaluate booleans like this:

class.BooleanAttribute

not class.BooleanAttribute

Not like this:

class.BooleanAttribute = True

class.BooleanAttribute = False

i.e. without an equal sign and True, False.

Mistakes We Have Seen Happen
class.BooleanAttribute->notEmpty

The expression will always return True because it will be converted to a list with one Boolean and that list will never be empty.

See also Initial values and Default Database values for more information on adding Boolean values and evolving the database

MDriven Chat

How would you like to chat today?

Setting up your conversation…

This may take a few moments