galaxy.lang
Class GFrame

java.lang.Object
  |
  +--galaxy.lang.GalaxyObject
        |
        +--galaxy.lang.GFrame
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
Clause, Predicate, QSet

public class GFrame
extends GalaxyObject

The meaning of a sentence in the Galaxy system is represented by a frame. These frames are used to communicate among the various processes comprising a Galaxy system. They represent discourse history, drive dialog, and represent computer responses. As a data structure, a frame is not unlike a hash table; it contains key/value pairs. In each domain, conventions must be established to represent meaning appropriately. It would be ideal if there were one set of conventions used by all domains. As each new domain is explored, conventions are improved. There are several competing factors influencing frame design. These factors represent the various uses a frame will be put to.

A frame has a name, a property list, and a set of predicates.

The property list is a set of key/value pairs.

The base class for the various semantic frames Clause, QSet, and Predicate.

toString() will produce a pretty printed version of the frame.

An example frame.

  {c when 
      :aux "link" 
      :topic {q title 
                :name "deep space nine" 
                :pred {p on_set }
      :domain "Movies" }
 

Values may be:

The C version of the frame reader requires white space around every token. This includes braces, and integers. But no white space must be between the opening brace of a frame and it's type.

See Also:
Clause, QSet, Predicate, Symbol, GVector

Field Summary
static java.lang.String GAL_BROKER_CALL_ID_FRAME_KEY
           
static int GAL_CLAUSE
           
static java.lang.String GAL_CONNECTION_TYPE_FRAME_KEY
           
static java.lang.String GAL_ERROR_DESCRIPTION_FRAME_KEY
           
static java.lang.String GAL_ERROR_NUMBER_FRAME_KEY
           
static java.lang.String GAL_HUB_OPAQUE_DATA_FRAME_KEY
           
static int GAL_NULLFRAME
           
static int GAL_PERMANENT_LOCK
           
static int GAL_PRED
           
static java.lang.String GAL_ROUND_TRIP_FRAME_KEY
           
static java.lang.String GAL_SERVER_ID_HUB_FRAME_KEY
           
static int GAL_SERVER_READS_ONLY_FROM_SESSION
           
static java.lang.String GAL_SERVER_TOKEN_INDEX_FRAME_KEY
           
static int GAL_SERVER_WRITES_ONLY_TO_SESSION
           
static java.lang.String GAL_SESSION_ID_FRAME_KEY
           
static int GAL_SESSION_WRITES_ONLY_TO_SERVER
           
static java.lang.String GAL_SIGNATURES_FRAME_KEY
           
static java.lang.String GAL_TOKEN_INDEX_FRAME_KEY
           
static int GAL_TOPIC
           
 
Fields inherited from class galaxy.lang.GalaxyObject
GAL_BINARY, GAL_CLAUSE_FRAME, GAL_FLOAT, GAL_FLOAT_32, GAL_FLOAT_64, GAL_FRAME, GAL_FREE, GAL_INT, GAL_INT_16, GAL_INT_32, GAL_INT_64, GAL_KEYWORD, GAL_LIST, GAL_PRED_FRAME, GAL_PROXY, GAL_PTR, GAL_STRING, GAL_SYMBOL, GAL_TAG, GAL_TOKEN, GAL_TOPIC_FRAME, nameToType, type, typeToName
 
Constructor Summary
GFrame(Symbol name, int frameType)
           
 
Method Summary
 void addNameToFrame(Symbol name)
           
 void addPredicateToFrame(Predicate predicate)
           
 void addPredicateToTopic(Predicate predicate)
          This checks if such a predicate already exists, and if so, it joins it with an 'and'.
 boolean containsProperty(java.lang.String key)
           
 boolean containsProperty(Symbol key)
           
 GFrame copy()
           
 void copyPredicates(GFrame fromFrame)
           
static GFrame decodeFrame(XdrInBuffer buffer)
          Decodes a frame from a XDR buffer.
static java.lang.Object decodeObject(XdrInBuffer buffer)
          Decodes the next object from a XDR buffer.
 boolean encodeFrame(XdrOutBuffer buffer)
          Encodes this frame into a XDR buffer.
static boolean encodeObject(XdrOutBuffer buffer, java.lang.Object object)
          Encodes an object into a XDR buffer.
 Predicate findPredicate(java.lang.String name)
          Finds and returns a pred in GFrame that has the same name as predicate.
 Predicate findPredicate(Symbol name)
           
 GBinary getBinary(java.lang.String key)
           
 GBinary getBinary(Symbol key)
           
 java.lang.Float getFloat(java.lang.String key)
           
 java.lang.Float getFloat(Symbol key)
           
 GFrame getFrame(java.lang.String key)
           
 GFrame getFrame(Symbol key)
           
 int getFrameType()
           
 java.lang.Integer getInt(java.lang.String key)
           
 java.lang.Integer getInt(Symbol key)
           
 GVector getList(java.lang.String key)
           
 GVector getList(Symbol key)
           
 Symbol getName()
           
 Predicate getPredicate(Symbol name)
           
 java.lang.Object getProperty(java.lang.String key)
           
 java.lang.Object getProperty(Symbol key)
           
 java.lang.Object getPropertyVerbatim(Symbol key)
           
 java.lang.String getString(java.lang.String key)
           
 java.lang.String getString(Symbol key)
           
 QSet getTopic()
           
 boolean isDate()
           
 boolean isTime()
           
 void movePredicates(GFrame fromFrame)
           
static GFrame parseFrame(java.lang.String frameString)
           
 java.util.Enumeration predicateKeys()
           
 PredicateEnumeration predicates()
           
 java.util.Enumeration propertyKeys()
           
 void removePredicate(Symbol name)
           
 void removeProperty(java.lang.String key)
           
 void removeProperty(Symbol key)
           
 void removePropertyVerbatim(Symbol key)
           
 void setFrameType(int frameType)
           
 void setName(Symbol name)
           
 void setPredicate(Predicate p)
           
 void setProperty(java.lang.String key, float f)
           
 void setProperty(java.lang.String key, int v)
           
 void setProperty(java.lang.String key, java.lang.Object value)
           
 void setProperty(Symbol key, float f)
           
 void setProperty(Symbol key, int v)
           
 void setProperty(Symbol key, java.lang.Object value)
           
 void setPropertyVerbatim(java.lang.String key, java.lang.Object value)
           
 void setPropertyVerbatim(Symbol key, java.lang.Object value)
           
 TimePredicateEnumeration timePredicates()
           
 java.lang.String toFormattedString()
           
 java.lang.StringBuffer toFormattedStringBuffer(java.lang.StringBuffer buff, int indent)
           
 java.lang.String toString()
           
 java.lang.StringBuffer toStringBuffer(java.lang.StringBuffer buff)
           
 
Methods inherited from class galaxy.lang.GalaxyObject
getType, getTypeForObject, getTypeName, nameType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GAL_ERROR_NUMBER_FRAME_KEY

public static java.lang.String GAL_ERROR_NUMBER_FRAME_KEY

GAL_ERROR_DESCRIPTION_FRAME_KEY

public static java.lang.String GAL_ERROR_DESCRIPTION_FRAME_KEY

GAL_SESSION_ID_FRAME_KEY

public static java.lang.String GAL_SESSION_ID_FRAME_KEY

GAL_TOKEN_INDEX_FRAME_KEY

public static java.lang.String GAL_TOKEN_INDEX_FRAME_KEY

GAL_SERVER_TOKEN_INDEX_FRAME_KEY

public static java.lang.String GAL_SERVER_TOKEN_INDEX_FRAME_KEY

GAL_HUB_OPAQUE_DATA_FRAME_KEY

public static java.lang.String GAL_HUB_OPAQUE_DATA_FRAME_KEY

GAL_SIGNATURES_FRAME_KEY

public static java.lang.String GAL_SIGNATURES_FRAME_KEY

GAL_BROKER_CALL_ID_FRAME_KEY

public static java.lang.String GAL_BROKER_CALL_ID_FRAME_KEY

GAL_ROUND_TRIP_FRAME_KEY

public static java.lang.String GAL_ROUND_TRIP_FRAME_KEY

GAL_CONNECTION_TYPE_FRAME_KEY

public static java.lang.String GAL_CONNECTION_TYPE_FRAME_KEY

GAL_SERVER_ID_HUB_FRAME_KEY

public static java.lang.String GAL_SERVER_ID_HUB_FRAME_KEY

GAL_NULLFRAME

public static final int GAL_NULLFRAME

GAL_TOPIC

public static final int GAL_TOPIC

GAL_CLAUSE

public static final int GAL_CLAUSE

GAL_PRED

public static final int GAL_PRED

GAL_SERVER_READS_ONLY_FROM_SESSION

public static final int GAL_SERVER_READS_ONLY_FROM_SESSION

GAL_SESSION_WRITES_ONLY_TO_SERVER

public static final int GAL_SESSION_WRITES_ONLY_TO_SERVER

GAL_SERVER_WRITES_ONLY_TO_SESSION

public static final int GAL_SERVER_WRITES_ONLY_TO_SESSION

GAL_PERMANENT_LOCK

public static final int GAL_PERMANENT_LOCK
Constructor Detail

GFrame

public GFrame(Symbol name,
              int frameType)
Method Detail

setFrameType

public void setFrameType(int frameType)

getFrameType

public int getFrameType()

getName

public Symbol getName()

setName

public void setName(Symbol name)

setPropertyVerbatim

public void setPropertyVerbatim(Symbol key,
                                java.lang.Object value)

setPropertyVerbatim

public void setPropertyVerbatim(java.lang.String key,
                                java.lang.Object value)

setProperty

public void setProperty(Symbol key,
                        java.lang.Object value)

setProperty

public void setProperty(java.lang.String key,
                        java.lang.Object value)

setProperty

public void setProperty(java.lang.String key,
                        int v)

setProperty

public void setProperty(Symbol key,
                        int v)

setProperty

public void setProperty(java.lang.String key,
                        float f)

setProperty

public void setProperty(Symbol key,
                        float f)

propertyKeys

public java.util.Enumeration propertyKeys()

containsProperty

public boolean containsProperty(Symbol key)

containsProperty

public boolean containsProperty(java.lang.String key)

getPropertyVerbatim

public java.lang.Object getPropertyVerbatim(Symbol key)

getProperty

public java.lang.Object getProperty(Symbol key)

getProperty

public java.lang.Object getProperty(java.lang.String key)

getFrame

public GFrame getFrame(java.lang.String key)

getFrame

public GFrame getFrame(Symbol key)

getString

public java.lang.String getString(java.lang.String key)

getString

public java.lang.String getString(Symbol key)

getInt

public java.lang.Integer getInt(java.lang.String key)

getInt

public java.lang.Integer getInt(Symbol key)

getFloat

public java.lang.Float getFloat(java.lang.String key)

getFloat

public java.lang.Float getFloat(Symbol key)

getList

public GVector getList(java.lang.String key)

getList

public GVector getList(Symbol key)

getBinary

public GBinary getBinary(java.lang.String key)

getBinary

public GBinary getBinary(Symbol key)

removePropertyVerbatim

public void removePropertyVerbatim(Symbol key)

removeProperty

public void removeProperty(Symbol key)

removeProperty

public void removeProperty(java.lang.String key)

predicateKeys

public java.util.Enumeration predicateKeys()

setPredicate

public void setPredicate(Predicate p)

predicates

public PredicateEnumeration predicates()

timePredicates

public TimePredicateEnumeration timePredicates()

getPredicate

public Predicate getPredicate(Symbol name)

removePredicate

public void removePredicate(Symbol name)

copy

public GFrame copy()

getTopic

public QSet getTopic()

addNameToFrame

public void addNameToFrame(Symbol name)

addPredicateToFrame

public void addPredicateToFrame(Predicate predicate)

addPredicateToTopic

public void addPredicateToTopic(Predicate predicate)
This checks if such a predicate already exists, and if so, it joins it with an 'and'.

findPredicate

public Predicate findPredicate(java.lang.String name)
Finds and returns a pred in GFrame that has the same name as predicate.

findPredicate

public Predicate findPredicate(Symbol name)

copyPredicates

public void copyPredicates(GFrame fromFrame)

movePredicates

public void movePredicates(GFrame fromFrame)

isTime

public boolean isTime()

isDate

public boolean isDate()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toStringBuffer

public java.lang.StringBuffer toStringBuffer(java.lang.StringBuffer buff)

toFormattedString

public java.lang.String toFormattedString()

toFormattedStringBuffer

public java.lang.StringBuffer toFormattedStringBuffer(java.lang.StringBuffer buff,
                                                      int indent)

parseFrame

public static GFrame parseFrame(java.lang.String frameString)
                         throws java.lang.Exception

encodeFrame

public boolean encodeFrame(XdrOutBuffer buffer)
                    throws java.lang.Exception
Encodes this frame into a XDR buffer.
Parameters:
buffer - the buffer into which this frame is encoded
Returns:
true if the encoding was successful, false otherwise

encodeObject

public static boolean encodeObject(XdrOutBuffer buffer,
                                   java.lang.Object object)
                            throws java.lang.Exception
Encodes an object into a XDR buffer.
Parameters:
buffer - the buffer into which the is encoded
object - the object to encode
Returns:
true if the encoding was successful, false otherwise

decodeFrame

public static GFrame decodeFrame(XdrInBuffer buffer)
Decodes a frame from a XDR buffer.
Parameters:
buffer - the buffer in which the frame is encoded
Returns:
the frame

decodeObject

public static java.lang.Object decodeObject(XdrInBuffer buffer)
                                     throws java.lang.Exception
Decodes the next object from a XDR buffer.
Parameters:
buffer - the buffer in which the object is encoded
Returns:
the next decoded object