com.judoscript
Class CallableLocal
java.lang.Object
com.judoscript.CallableLocal
- All Implemented Interfaces:
- Callable, Consts, Expr, XMLDumpable, Variable, java.io.Serializable, java.lang.Comparable
public class CallableLocal
- extends java.lang.Object
- implements Variable, Callable
This class is wraps a runtime-instance along with its script,
and make it available to other scripts running in multiple threads,
such JUSP pages. For each invocation, its global context is pushed
onto the client's context stack.
Let's call the caller as a client, running in its context called
RTC; the script object is called a server, running in its context
of RGC. Parameters and return values are conceptually passed
"by value".
Only server functions can be accessed. Try to refrain from using
global variable as much possible, especially as server programs.
When need to, treat the code as running in separate threads and
enforce concurrency constraints wherever appropriate.
- See Also:
- Serialized Form
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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
invoke
public Variable invoke(java.lang.String fxn,
Expr[] params,
int[] javaTypes)
throws java.lang.Throwable
- Specified by:
invoke
in interface Callable
- Specified by:
invoke
in interface Variable
- Throws:
java.lang.Throwable
isInternal
public boolean isInternal()
- Specified by:
isInternal
in interface Variable
getTypeName
public java.lang.String getTypeName()
- Specified by:
getTypeName
in interface Variable
cloneValue
public Variable cloneValue()
- Specified by:
cloneValue
in interface Variable
setJavaPrimitiveType
public void setJavaPrimitiveType(int type)
- Specified by:
setJavaPrimitiveType
in interface Variable
getSqlDate
public java.sql.Date getSqlDate()
throws java.lang.Throwable
- Specified by:
getSqlDate
in interface Variable
- Throws:
java.lang.Throwable
getSqlTime
public java.sql.Time getSqlTime()
throws java.lang.Throwable
- Specified by:
getSqlTime
in interface Variable
- Throws:
java.lang.Throwable
getSqlTimestamp
public java.sql.Timestamp getSqlTimestamp()
throws java.lang.Throwable
- Specified by:
getSqlTimestamp
in interface Variable
- Throws:
java.lang.Throwable
resolveVariable
public Variable resolveVariable(java.lang.String name)
throws java.lang.Throwable
- Specified by:
resolveVariable
in interface Variable
- Throws:
java.lang.Throwable
resolveVariable
public Variable resolveVariable(Variable name)
throws java.lang.Throwable
- Specified by:
resolveVariable
in interface Variable
- Throws:
java.lang.Throwable
getObjectArrayValue
public java.lang.Object[] getObjectArrayValue()
throws java.lang.Throwable
- When isArray(), returns an array of Object values.
Otherwise, returns an array with one element, its Object value.
- Specified by:
getObjectArrayValue
in interface Variable
- Throws:
java.lang.Throwable
close
public void close()
- Specified by:
close
in interface Variable
getType
public int getType()
- Specified by:
getType
in interface Expr
getJavaPrimitiveType
public int getJavaPrimitiveType()
- Specified by:
getJavaPrimitiveType
in interface Expr
isNil
public boolean isNil()
- Specified by:
isNil
in interface Expr
isUnknownType
public boolean isUnknownType()
- Specified by:
isUnknownType
in interface Expr
isInt
public boolean isInt()
- Specified by:
isInt
in interface Expr
isDouble
public boolean isDouble()
- Specified by:
isDouble
in interface Expr
isNumber
public boolean isNumber()
- Specified by:
isNumber
in interface Expr
isString
public boolean isString()
- Specified by:
isString
in interface Expr
isValue
public boolean isValue()
- Specified by:
isValue
in interface Expr
isDate
public boolean isDate()
- Specified by:
isDate
in interface Expr
isObject
public boolean isObject()
- Specified by:
isObject
in interface Expr
isJava
public boolean isJava()
- Specified by:
isJava
in interface Expr
isCOM
public boolean isCOM()
- Specified by:
isCOM
in interface Expr
isFunction
public boolean isFunction()
- Specified by:
isFunction
in interface Expr
isArray
public boolean isArray()
- Specified by:
isArray
in interface Expr
isSet
public boolean isSet()
- Specified by:
isSet
in interface Expr
isStack
public boolean isStack()
- Specified by:
isStack
in interface Expr
isQueue
public boolean isQueue()
- Specified by:
isQueue
in interface Expr
isStruct
public boolean isStruct()
- Specified by:
isStruct
in interface Expr
isComplex
public boolean isComplex()
- Specified by:
isComplex
in interface Expr
isWebService
public boolean isWebService()
- Specified by:
isWebService
in interface Expr
isA
public boolean isA(java.lang.String name)
- Specified by:
isA
in interface Expr
isReadOnly
public boolean isReadOnly()
- Specified by:
isReadOnly
in interface Expr
eval
public Variable eval()
throws java.lang.Throwable
- Specified by:
eval
in interface Expr
- Throws:
java.lang.Throwable
getBoolValue
public boolean getBoolValue()
throws java.lang.Throwable
- Specified by:
getBoolValue
in interface Expr
- Throws:
java.lang.Throwable
getLongValue
public long getLongValue()
throws java.lang.Throwable
- Specified by:
getLongValue
in interface Expr
- Throws:
java.lang.Throwable
getDoubleValue
public double getDoubleValue()
throws java.lang.Throwable
- Specified by:
getDoubleValue
in interface Expr
- Throws:
java.lang.Throwable
getStringValue
public java.lang.String getStringValue()
throws java.lang.Throwable
- Specified by:
getStringValue
in interface Expr
- Throws:
java.lang.Throwable
getObjectValue
public java.lang.Object getObjectValue()
throws java.lang.Throwable
- Specified by:
getObjectValue
in interface Expr
- Throws:
java.lang.Throwable
getDateValue
public java.util.Date getDateValue()
throws java.lang.Throwable
- Specified by:
getDateValue
in interface Expr
- Throws:
java.lang.Throwable
reduce
public Expr reduce(java.util.Stack stack)
- Specified by:
reduce
in interface Expr
optimize
public Expr optimize()
- Specified by:
optimize
in interface Expr
dump
public void dump(XMLWriter out)
- Specified by:
dump
in interface XMLDumpable
compareTo
public int compareTo(java.lang.Object o)
- Specified by:
compareTo
in interface java.lang.Comparable
registerCallable
public static void registerCallable(java.lang.String name,
Script script,
RuntimeGlobalContext rgc)
throws java.lang.IllegalAccessException
- Throws:
java.lang.IllegalAccessException
getCallable
public static Callable getCallable(java.lang.String name)
throws java.lang.IllegalAccessException
- Throws:
java.lang.IllegalAccessException