# OclVoid

## `OclVoid`

The type OclVoid is a type that conforms to all other types except OclInvalid. It has one single instance, identified as `null`, that corresponds with the UML LiteralNull value specification. Any property call applied on `null` results in `invalid`, except for the oclIsUndefined(), oclIsInvalid(), =(OclAny) and <>(OclAny) operations. However, by virtue of the implicit conversion to a collection literal, an expression evaluating to `null` can be used as source of collection operations (such as ‘isEmpty’). If the source is the `null` literal, it is implicitly converted to Bag{}.

OclVoid is itself an instance of the metatype VoidType.

conformsTo `OclAny`

Operations

`=(object2 : OclSelf[?]) : Boolean[1]` precedence: `EQUALITY`

Redefines the OclAny operation, returning `true` if object is `null`, `invalid` if object is `invalid`, `false` otherwise.

`<>(object2 : OclSelf[?]) : Boolean[1]` precedence: `EQUALITY`

`allInstances() : Set(OclSelf)`

Returns `Set{null}`.

`and(b : Boolean[?]) : Boolean[?]` precedence: `AND`

`implies(b : Boolean[?]) : Boolean[?]` precedence: `IMPLIES`

`oclIsInvalid() : Boolean[1] validating`

`oclIsUndefined() : Boolean[1] validating`

`or(b : Boolean[?]) : Boolean[?]` precedence: `OR`

`toString() : String[1]`

Returns `null`.