com.judoscript.gui
Class GuiContext

java.lang.Object
  extended by com.judoscript.gui.GuiContext
All Implemented Interfaces:
Consts

public final class GuiContext
extends java.lang.Object
implements Consts

This singleton keeps all the event handlers at runtime. For variable-based event handlers, a key of the object class name plus its hashcode, the event name and message is used to reference its handler. That's why singleton is good enough for any components/events/messages. All GUI events are funneled to handle() for dispatching.


Field Summary
 
Fields inherited from interface com.judoscript.Consts
ADAPTER_PREFIX, ANNOTATION_NAME, ANY_TAG_SYMBOL, ANY_TEXT_SYMBOL, ARGS_NAME, BSF_NAME, CONTEXT_NAME, DEFAULT_CONNECTION_NAME, DEFAULT_HIBERNATE_NAME, DEFAULT_NS_SYMBOL, DYNAMIC_EVAL, DYNAMIC_EVALEXTERNAL, DYNAMIC_EVALFILE, FOREVER, FS_ADD_TO_CLASSPATH, FS_COPY, FS_DO, FS_LIST, FS_LIST_BY_DATE, FS_LIST_BY_EXT, FS_LIST_BY_NAME, FS_LIST_BY_NONE, FS_LIST_BY_SIZE, FS_LIST_COMPRESSED_SIZE, FS_LIST_COUNT, FS_LIST_COUNTLINES, FS_LIST_COUNTWORDS, FS_LIST_PER_FILE, FS_LIST_PER_NONE, FS_LIST_SIZE, FS_MAKEDIR, FS_MOVE, FS_NONE, FS_REMOVE, FS_REMOVEDIR, FS_RESULT_NAME, FS_SETFILETIME, FS_SETREADONLY, FS_SETREADWRITE, HTTP_GET, HTTP_HEAD, HTTP_POST, IO_GZIPPED_INPUTFILE, IO_GZIPPED_OUTPUTFILE, IO_GZIPPED_TEXTINPUTFILE, IO_GZIPPED_TEXTOUTPUTFILE, IO_INPUTSTREAM, IO_OUTPUTSTREAM, IO_RANDOMACCESS, IO_TEXTINPUTFILE, IO_TEXTOUTPUTFILE, ISSUE_LEVEL_DEBUG, ISSUE_LEVEL_ERROR, ISSUE_LEVEL_IGNORE, ISSUE_LEVEL_INFO, ISSUE_LEVEL_WARN, JAVA_ANY, JAVA_ANY_I, JAVA_BOOLEAN, JAVA_BOOLEAN_I, JAVA_BOOLEAN_O, JAVA_BYTE, JAVA_BYTE_I, JAVA_BYTE_O, JAVA_CHAR, JAVA_CHAR_I, JAVA_CHAR_O, JAVA_CURRENCY, JAVA_CURRENCY_I, JAVA_DATE_O, JAVA_DOUBLE, JAVA_DOUBLE_I, JAVA_DOUBLE_O, JAVA_FLOAT, JAVA_FLOAT_I, JAVA_FLOAT_O, JAVA_INT, JAVA_INT_I, JAVA_INT_O, JAVA_LONG, JAVA_LONG_I, JAVA_LONG_O, JAVA_SHORT, JAVA_SHORT_I, JAVA_SHORT_O, JAVA_SQL_DATE_O, JAVA_SQL_TIME_O, JAVA_SQL_TIMESTAMP_O, JAVA_STRING, JAVA_STRING_I, LABEL_SCHEDULE, LAMBDA_PREFIX, LOCAL_NAME, LOCALTEXT_NAME, MAX_READ_FILE_LENGTH, NODE_PREFIX, OP_AND, OP_AND_ASSIGN, OP_ASSIGN, OP_COMPLEMENT, OP_CONCAT, OP_CONCAT_ASSIGN, OP_COPY, OP_DIV, OP_DIV_ASSIGN, OP_EQ, OP_GE, OP_GT, OP_LE, OP_LOGIC_AND_ASSIGN, OP_LOGIC_OR_ASSIGN, OP_LSHIFT, OP_LSHIFT_ASSIGN, OP_LT, OP_MINUS, OP_MINUS_ASSIGN, OP_MOD, OP_MOD_ASSIGN, OP_MUL, OP_MUL_ASSIGN, OP_NE, OP_NOT, OP_OR, OP_OR_ASSIGN, OP_PLUS, OP_PLUS_ASSIGN, OP_RSHIFT, OP_RSHIFT_ASSIGN, OP_RUSHIFT, OP_RUSHIFT_ASSIGN, OP_XOR, OP_XOR_ASSIGN, OPTION_JDBC_PASSWORD, OPTION_JDBC_URL, OPTION_JDBC_USERNAME, ORACLE_BFILE, ORACLE_CURSOR, ORACLE_FIXED_CHAR, ORACLE_NUMBER, ORACLE_PLSQL_INDEX_TABLE, ORACLE_RAW, ORACLE_ROWID, PARENT_NAME, PARSER_NAME, PRAGMA_ASSERTION, PRAGMA_CRYPTOCLASS, PRAGMA_GUILISTENER, PRAGMA_INCLUDEPATH, PRAGMA_JAVACOMPILER, PRAGMA_JDBCDRIVER, pragma_names, PRAGMA_UNKNOWN, PREPARED_STMT_CALL, PRINT_ERR, PRINT_LOG, PRINT_OUT, PRINT_PIPE, PRINT_USER, RTERR_ASSERTION_FAILURE, RTERR_BAD_PRINT_TARGET, RTERR_CONSTANT_NOT_DEFINED, RTERR_CONSTANT_REDEFINITION, RTERR_EMBEDDED_JAVA_COMPILE_FAILED, RTERR_ENVIRONMENT_ERROR, RTERR_EVALUATION_FAILED, RTERR_FS_COPY_MOVE_FAILED, RTERR_FS_CREATE_DIR_FAILED, RTERR_FS_REMOVE_DIR_FAILED, RTERR_FUNCTION_ALREADY_DEFINED, RTERR_ILLEGAL_ACCESS, RTERR_ILLEGAL_ARGUMENTS, RTERR_ILLEGAL_INDEXED_ACCESS, RTERR_ILLEGAL_JUMP, RTERR_ILLEGAL_STATEMENT, RTERR_ILLEGAL_VALUE_SETTING, RTERR_INTERNAL_ERROR, RTERR_INVALID_ARRAY_ACCESS, RTERR_INVALID_JAVA_VERSION, RTERR_INVALID_MEMBER_ACCESS, RTERR_INVALID_NUMBER_FORMAT, RTERR_INVALID_VARIABLE_NAME, RTERR_IO_FAILURE, RTERR_IO_FILE_OPEN_FAILURE, RTERR_JAVA_COMPILE_FAILED, RTERR_JAVA_EXCEPTION, RTERR_JAVA_METHOD_CALL, RTERR_JAVA_OBJECT_CREATION, RTERR_JDBC_DRIVER_NOT_FOUND, RTERR_JDBC_FAILURE, RTERR_JDBC_INVALID_COLUMN, RTERR_JDBC_WARNING, RTERR_MAIL_MISSING_FIELD, RTERR_MAILSERVER_NOT_CONNECTED, RTERR_METHOD_NOT_FOUND, rterr_names, RTERR_NO_SUCH_VALUE, RTERR_OBJECT_INIT, RTERR_TIMER_ALREADY_EXISTS, RTERR_UNDEFINED_GUI_EVENT, RTERR_UNDEFINED_OBJECT_TYPE, RTERR_USER_EXCEPTION, RTERR_XML_PARSING_ERROR, RULEENGINE_MAX_ITERATIONS, SYS_NAME, TEMPVAR_PREFIX, TEXT_PREFIX, THIS_NAME, THREAD_PREFIX, TIMER_NAME, TYPE_ARRAY, TYPE_CALLABLE, TYPE_COM, TYPE_COMPLEX, TYPE_CONTEXT, TYPE_DATE, TYPE_DOUBLE, TYPE_FUNCTION, TYPE_INT, TYPE_INTERNAL, TYPE_JAVA, TYPE_NAN, TYPE_NIL, TYPE_OBJECT, TYPE_QUEUE, TYPE_SET, TYPE_STACK, TYPE_STRING, TYPE_STRUCT, TYPE_UNDEFINED, TYPE_UNKNOWN, TYPE_WS, TYPE1_SYMBOL, TYPE2_SYMBOL, TYPE3_SYMBOL, XML_EVENT_PREFIX
 
Constructor Summary
GuiContext(RuntimeContext rtc)
           
 
Method Summary
 void addHandler(java.lang.Object var, java.lang.String eventName, java.lang.String msgName, StmtListStmt hdlr)
          This method does two key things: 1.
static java.lang.String getObjectID(java.lang.Object o)
           
 void handle(java.util.EventObject eo, java.lang.String lsnr, java.lang.String msg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GuiContext

public GuiContext(RuntimeContext rtc)
Method Detail

addHandler

public void addHandler(java.lang.Object var,
                       java.lang.String eventName,
                       java.lang.String msgName,
                       StmtListStmt hdlr)
                throws java.lang.Exception
This method does two key things: 1. Register the handler (statements) for this component, event and message. 2. Add the listener to the variable (which should be a component that accepts a listener);

Throws:
java.lang.Exception

handle

public void handle(java.util.EventObject eo,
                   java.lang.String lsnr,
                   java.lang.String msg)
            throws java.lang.Throwable
Throws:
java.lang.Throwable

getObjectID

public static java.lang.String getObjectID(java.lang.Object o)