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