OCLOperators Not

"Not" is the usual Not operator found in most languages.

However, there are a few things to point out when writing expressions using True, False, nullable booleans, and Not.

Avoid the Risk With Nullable Booleans

Consider xxxx.DisableEditing = false

When you think you want to use "a boolean" with = true/false, don't - it's almost never correct.

The reason is that a nullable boolean is tri-state. False, True, and Null.  If an expression is xxxx.DisableEditing - that is false for BOTH False and Null.

So, almost always use "xxxx.DisableEditing" or "not xxxx.DisableEditing" (there are exceptions, but not many).

For example:
self.ValidTo.notNull and
self.AddedTo.isNull and
(self.Agreement.Facilitator.DisableEditing = false)

If DisableEditing is Null, then "(self.Agreement.Facilitator.DisableEditing = false)" is actually True. (the above false/null problem):

self.ValidTo.notNull and
self.AddedToJournalSearch.isNull and
not self.Agreement.Facilitator.DisableEditing
This page was edited 138 days ago on 08/14/2024. What links here