Class EntityFrame

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

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


Constructor Index

 o EntityFrame(Entity)
Constructs this frame by plugging in the given exjava Entity object (it does so by copying the reference, which is maximally efficient, but the client should not then alter the Entity directly, as that would compromise the integrity of the frame).
 o EntityFrame(Entity, Hashtable)
Constructs this frame by plugging in the given exjava Entity object (it does so by copying the reference, which is maximally efficient, but the client should not then alter the Entity 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 Entity object.
 o buildQueuedFrames()
Builds any EntityFrames 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 EntityFrame class by setting the class variable _frameClass after looking up the `entity_type' entity in the given EXPRESS (meta)model.
 o lookupAttribute(String)
Looks up the attribute with the given name.
 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 EntityFrame.
 o writeClass(ObjectOutput)
Serialises the static data members (class variables) of EntityFrame.

Constructors

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

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

Parameters:
instanceData - An exjava Entity object to wrap in this frame.
moreInstanceData - Extra slots to tag this entity frame with.
Throws: FrameAlreadyExists
If an EntityFrame has already been constructed for `instanceData'.

Methods

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

Parameters:
metamodel - An EXPRESS metamodel, which is expected to contain the entity `entity_type'.
 o buildQueuedFrames
 public static void buildQueuedFrames()
Builds any EntityFrames 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 Entity 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 EntityFrame.

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 EntityFrame.

Parameters:
ois - An input object to save the class data to.
Throws: IOException
If an I/O exception occurs.
 o lookupAttribute
 public Frame lookupAttribute(String attrName) throws InvalidAttribute
Looks up the attribute with the given name.

Parameters:
attrName - The name of the attribute to return.
Returns:
The attribute frame whose name is `attrName'.
Throws: InvalidAttribute
If the entity frame does not have an attribute of that name.
 o getQueryVariables
 public Vector getQueryVariables()
Returns the stack of query variables on this frame.

Returns:
The query variables on this entity 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.