No edit summary |
(Automatically adding template at the end of the page.) |
||
Line 23: | Line 23: | ||
See also [[Initial values and Default Database values]] for more information on adding Boolean values and evolving the database | See also [[Initial values and Default Database values]] for more information on adding Boolean values and evolving the database | ||
[[Category:OCL]] | [[Category:OCL]] | ||
{{Edited|July|12|2024}} |
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