Boolean
m ((username removed) (log details removed): Moving to Documentation namespace)
No edit summary
Line 20: Line 20:
  class.BooleanAttribute->notEmpty
  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.
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]]
[[Category:OCL]]

Revision as of 17:05, 16 January 2024

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