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...") |
(Automatically adding template at the end of the page.) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
A boolean in OCL can be both Non-nullable and Nullable. | ===== 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 | 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|2024}} |
Latest revision as of 15:27, 10 February 2024
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
This page was edited more than 11 months ago on 02/10/2024. What links here