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