BuiltinProperty extends BooleanProperty

A builtin BooleanProperty with predefined behaviour, based on the BuiltinProperty type, and the type of its implicit container.

empty, not empty

The empty and notEmpty BuiltinPropertys are defined for all Changeable elements; that is, elements which contain a fieldValue. A particular value is considered empty if and only if the instance cannot be cast to a boolean value, or if the casted boolean value is false.

The empty Predicate is a successful condition if and only if, with respect to the Changeable element that contains the Predicate, the fieldValue is either not set (according to the ``fieldValue is set?'' BuiltinProperty below), or can be considered empty. Conversely, the ' notEmpty Predicate is a successful condition if and only if the empty Predicate is not successful.

The empty element is also defined for all DomainIterator elements, and this Predicate is considered successful if and only if there are no valid results for the current DomainIterator query.

fieldValue is set

The "fieldValue is set?" BuiltinProperty is defined for all Changeable elements. This Predicate is a successful condition if and only if, with respect to the Changeable element that contains the Predicate, the fieldValue is not set as described in Value. This Predicate is therefore successful even if the current fieldValue can be considered empty.

can cast

The canCast BuiltinProperty is defined for all Changeable elements, and accepts one incoming value value as a ActivityParameter. This Predicate is a successful condition if and only if the given value can be successfully cast to the type of the fieldValue of the Changeable that contains the Predicate.

can save

The canSave BuiltinProperty is defined for all DomainInstances and DomainAttributeInstancesissue 230 . This Predicate is a successful condition if and only if the current DomainInstance or DomainAttributeInstance can be saved successfully, according to the semantics of the "save" BuiltinOperation.

has next, has previous

The hasNext and hasPrevious BuiltinPropertys are defined for all DomainIterators. These Predicates are successful if and only if an attempt to increment or decrement the current instance pointer of the DomainIterator -- according to the semantics defined by the `next' and `previous' BuiltinOperations -- will not result in an out-of-bounds exception which would trigger any failure handlers.

[BuiltinProperty.html]

Implementation Notes

Inference Rules

Constraints

Attributes

Inherited Attributes

Children

(none)

Inherited Children

References

(none)

Inherited References

Extensions

(none)

Inherited Extensions