Class DefinedTypeFrame

java.lang.Object
   |
   +----Frame
           |
           +----DefinedTypeFrame

public class DefinedTypeFrame
extends Frame
The class `DefinedTypeFrame', a subclass of Frame, represents a frame internally as an exjava Type object - such frames should only be used to represent defined types in EXPRESS models.


Constructor Index

 o DefinedTypeFrame(Type)
Constructs this frame by plugging in the given exjava Type object (it does so by copying the reference, which is maximally efficient but the client should not then alter the Type directly, as that would compromise the integrity of the frame).
 o DefinedTypeFrame(Type, Hashtable)
Constructs this frame by plugging in the given exjava Type object (it does so by copying the reference, which is maximally efficient, but the client should not then alter the Type directly, as that would compromise the integrity of the frame).

Method Index

 o buildFrame()
Fills in the slots for this frame from the underlying exjava Type object.
 o buildQueuedFrames()
Builds any DefinedType Frames that are queued to be built (those that were constructed before the frame class was constructed).
 o getFrameClass()
Returns the frame class of this frame.
 o getQueryVariables()
Returns the stack of query variables on this frame.
 o initialise(Express)
Initialises the DefinedTypeFrame class by setting the class variable _frameClass after looking up the `defined_type' entity in the given EXPRESS (meta)model.
 o popQueryVariable()
Pops the top query variable off of this frame.
 o pushQueryVariable(Frame)
Pushes a given query variable onto the stack.
 o readClass(ObjectInput)
Deserialises the static data members (class variables) of DefinedTypeFrame.
 o writeClass(ObjectOutput)
Serialises the static data members (class variables) of DefinedTypeFrame.

Constructors

 o DefinedTypeFrame
 public DefinedTypeFrame(Type instanceData) throws FrameAlreadyExists
Constructs this frame by plugging in the given exjava Type object (it does so by copying the reference, which is maximally efficient but the client should not then alter the Type directly, as that would compromise the integrity of the frame).

Parameters:
instanceData - An exjava Type object to wrap in this frame.
Throws: FrameAlreadyExists
If a Type has already been constructed for `instanceData'.
 o DefinedTypeFrame
 public DefinedTypeFrame(Type instanceData,
                         Hashtable moreInstanceData) throws FrameAlreadyExists
Constructs this frame by plugging in the given exjava Type object (it does so by copying the reference, which is maximally efficient, but the client should not then alter the Type directly, as that would compromise the integrity of the frame). This constructor allows the defined type frame to be tagged with extra slots, given in a hash table.

Parameters:
instanceData - An exjava Type object to wrap in this frame.
moreInstanceData - Extra slots to tag this defined type frame with.
Throws: FrameAlreadyExists
If a Type has already been constructed for `instanceData'.

Methods

 o initialise
 public static void initialise(Express metamodel)
Initialises the DefinedTypeFrame class by setting the class variable _frameClass after looking up the `defined_type' entity in the given EXPRESS (meta)model.

Parameters:
metamodel - An EXPRESS metamodel, which is expected to contain the entity `defined_type'.
 o buildQueuedFrames
 public static void buildQueuedFrames()
Builds any DefinedType Frames that are queued to be built (those that were constructed before the frame class was constructed). Their slots are filled from the exjava objects with which they were constructed, and they are then validated.

 o buildFrame
 public void buildFrame()
Fills in the slots for this frame from the underlying exjava Type object.

 o getFrameClass
 public FrameClass getFrameClass()
Returns the frame class of this frame.

Returns:
The frame class of this frame.
Overrides:
getFrameClass in class Frame
 o writeClass
 public static void writeClass(ObjectOutput oo) throws IOException
Serialises the static data members (class variables) of DefinedTypeFrame.

Parameters:
oo - An output object to save the class data to.
Throws: IOException
If an I/O exception occurs.
 o readClass
 public static void readClass(ObjectInput oi) throws IOException
Deserialises the static data members (class variables) of DefinedTypeFrame.

Parameters:
ois - An input object to save the class data to.
Throws: IOException
If an I/O exception occurs.
 o getQueryVariables
 public Vector getQueryVariables()
Returns the stack of query variables on this frame.

Returns:
The query variables on this defined type frame.
 o pushQueryVariable
 public void pushQueryVariable(Frame queryVariable)
Pushes a given query variable onto the stack.

Parameters:
queryVariable - The query variable to be pushed onto this frame, which is supposed to be a query_variable frame.
 o popQueryVariable
 public void popQueryVariable()
Pops the top query variable off of this frame.