Superx++ Special Objects

Purpose This page describes the special objects that are used in the Superx++ language. These objects can be accessed and manipulated just like any other Superx++ object. This page also describes the accessor statements used to get the entire objects as well.
Accessor Statements
getclasses
getclasses is a statement used to get the entire classes object.

getclasses
will get the entire classes object and is the equivalent of:
classes

getexception
getexception is a statement used to get the entire exception object.

getexception
will get the entire exception object and is the equivalent of:
exception

getmem
getmem is a statement used to get the entire mem object.

getmem
will get the entire mem object and is the equivalent of:
mem

getxin
getxin is a statement used to get the entire xin object.

getxin
will get the entire xin object and is the equivalent of:
xin

getxpp
getxpp is a statement used to get the entire xpp object.

getxpp
will get the entire xpp object and is the equivalent of:
xpp

Special Objects
classes
classes represents the run-time class memory.

classes
will get the object tree of all the currently defined classes.

<eval object="classes" member="child">
   <parm type="int">2</parm>
</eval>

will get the 3rd class defined in the classes object tree.

exception
exception represents the last exception that was raised in the Superx++ program.

exception
will get the entire exception object.

<eval object="exception/type" />
will get the type of the exception.

<eval object="exception/description" />
will get the description of the exception.

mem
mem represents the run-time memory which contains all the instantiated objects.

mem
will get the object tree of all the currently instantiated objects.

<eval object="mem" member="child">
   <parm type="int">2</parm>
</eval>

will get the 3rd object instantiated in the memory object tree.

<eval object="mem/MyEmployee" />
will get the MyEmployee object as a child node from the memory object.

<eval object="mem/MyEmployee">
   <Personal>
      <Name>Joe</Name>
      <ID>12345</ID>
   </Personal>
</eval>

will modify the MyEmployee object by giving it the Personal child node.

xin
xin represents the input stream which contains the XML document to be passed as a hierarchical set of input parameters into a Superx++ program.

xin
will get the entire exception object.

<eval object="xin/MyParm" />
will get the MyParm object within the input stream.

xpp
xpp represents the Superx++ program as currently defined in memory. It is useful in the cases where a program is modified and therefore is different in memory than in the source files.

xpp
will get the entire xpp object.

<eval object="xpp" member="child">
   <parm type="int">2</parm>
</eval>

will get the 3rd object within the xpp object-- i.e. the 3rd statement in the program.