Loading...
 

is

is

is(typeInfo)

Parameter: a type name

Stack
Stack Position Description
Stack(In) Top a value
Stack(Out) Top TRUE or FALSE (1 or0)

Stack elements - just like variables - are simply containers that hold all the values relevant to working with InstantView®. With InstantView® it is neither possible nor necessary to explicitly agree on a type. In exceptional cases, it may nevertheless be interesting to (initially) obtain information about its type instead of the value from the stack. You get TRUE on the stack, if an assumption made with is(typeInfo) about the value of the stack top is correct. The following table shows which stack values result in TRUE when queried with the type from the left column:

INTEGER integer
STRING Character string
ML_STRING multilingual character string
OBJECT a (transient or persistent) object
TRANSIENT_OBJECT transient object
PERSISTENT_OBJECT persistent object
COLLECTION Collection
VECTOR Vector
INDEX_PATH Index path
INVALID constant INVALID (uninitialised variable, missing data)
ACCESS_DENIED constant ACCESS_DENIED - Result of an access rightsviolation
FLAG one flag
MARKER a marker
Closing Bracket Marker Closing Bracket
Opening Bracket Marker Opening Bracket

INSTRUCTION

198288
PROCEDURE
an instruction put on the stack by push or an anonymous procedure

Between transient and persistent object is tested here on a semantic level and not on a technical level. The example "Lazy Creator" is intended to illustrate this:

A Lazy Creator object always consists of two parts: The Lazy Creat or and the object that is created with a delay. The lazy creat or is always transient, while the object is always persistent. If a Lazy-Creator is asked with is(PERSISTENT_OBJECT) whether it is persistent, the answer is TRUE, because the object that is finally used is persistent.