com.judoscript
Class JudoUtil

java.lang.Object
  extended by com.judoscript.JudoUtil
All Implemented Interfaces:
Consts
Direct Known Subclasses:
ParserHelper, SysFunLib

public class JudoUtil
extends java.lang.Object
implements Consts


Field Summary
static Expr[] emptyExprs
           
static boolean searchCP
           
 
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
JudoUtil()
           
 
Method Summary
static _Array arrayToJudoArray(java.lang.Object[] oa)
           
static void checkJCE()
           
static Variable comWrap(java.lang.Object val)
           
static void copy(Variable src, Variable dest)
           
static Expr createSimpleArith(java.lang.String op, Expr lhs, Expr rhs)
           
static ExprRelational createSimpleRelation(java.lang.String op, Expr lhs, Expr rhs)
           
static java.io.Reader findFile(java.lang.String name, java.lang.String enc)
           
static java.io.Reader findFile(java.lang.String path, java.lang.String name, java.lang.String enc)
          If it is not found, and the extension is not ended with ".jud*", append ".judo" and do the same search.
static java.io.InputStream findFileInClasspath(java.lang.String name, java.lang.String realName)
           
static java.io.Reader findFileInJudoPath(java.lang.String name, java.lang.String realName, java.lang.String enc)
          The pseudocode for locating the file: If the file name has absolute or relative path information then return the file for that path; Else return a found file in "JUDOPATH".
static java.net.URL findInClasspath(java.lang.String name, java.lang.String realName)
           
static java.lang.String fixFilePath(java.lang.String path)
           
static java.lang.String fixFilePaths(java.lang.String paths)
           
static java.lang.String fixIncludeFilePath(java.lang.String path, java.lang.String refPath)
           
static java.lang.String genTempVarName()
           
static java.lang.String genTempVarName(java.lang.String prefix)
           
static java.lang.Throwable getJavaException(java.lang.Throwable th)
           
static java.lang.String getJavaPrimitiveTypeName(int type)
           
static java.util.Locale getLocale(Expr[] params)
           
static java.lang.String getPathName(java.io.File f)
           
static RegexEngine getRegexEngine()
           
static Variable getSSH(java.lang.String host, int port, java.lang.String user, java.lang.String pass, java.lang.String cipher)
           
static java.lang.String getTempDir()
           
static long getTime(Variable v)
           
static boolean isDate(Variable v)
           
static java.lang.String isGetter(java.lang.reflect.Method mthd)
           
static boolean isNil(Variable var)
           
static java.util.Properties loadProperties(java.lang.String name, boolean mandatory)
           
static java.lang.String[] parseParams(java.lang.String s)
          Parse a string to be a number of parameters.
static Expr parseString(java.lang.String s)
           
static java.lang.Object parseStringAsObject(java.lang.String s)
          Returns a list of String's or AccessVar's.
static void processMarkup(Markup mu)
           
static void registerToBSF()
           
static void scp(java.lang.String host, int port, java.lang.String user, java.lang.String pass, java.lang.String cipher, java.lang.String[] src, java.lang.String dest, boolean recursive, boolean toRemote, boolean verbose)
           
static _Array toArray(Variable[] a)
           
static char toChar(Expr var)
           
static LinePrintWriter toLinePrintWriter(java.lang.Object output)
           
static LinePrintWriter toLinePrintWriter(java.lang.Object output, boolean append)
           
static java.lang.String toParameterNameString(java.lang.Object o)
           
static Variable toVariable(java.lang.Object o)
           
static Variable toVariable(java.lang.Object val, java.lang.Class type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

searchCP

public static boolean searchCP

emptyExprs

public static final Expr[] emptyExprs
Constructor Detail

JudoUtil

public JudoUtil()
Method Detail

findFile

public static java.io.Reader findFile(java.lang.String path,
                                      java.lang.String name,
                                      java.lang.String enc)
                               throws java.io.FileNotFoundException,
                                      java.io.IOException
If it is not found, and the extension is not ended with ".jud*", append ".judo" and do the same search.

Throws:
java.io.FileNotFoundException
java.io.IOException

findFile

public static java.io.Reader findFile(java.lang.String name,
                                      java.lang.String enc)
                               throws java.io.FileNotFoundException,
                                      java.io.IOException
Throws:
java.io.FileNotFoundException
java.io.IOException

findFileInJudoPath

public static java.io.Reader findFileInJudoPath(java.lang.String name,
                                                java.lang.String realName,
                                                java.lang.String enc)
                                         throws java.io.FileNotFoundException,
                                                java.io.IOException
The pseudocode for locating the file: If the file name has absolute or relative path information then return the file for that path; Else return a found file in "JUDOPATH". End if. If environment variable "JUDOPATH" is defined then use that; Else If Windows then if $home is not null then JUDOPATH = "$home/.judobase;c:/judobase"; Else JUDOPATH = "c:/judobase"; End if. Eles if $home is not null then JUDOPATH = "$home/.judobase:/usr/judobase"; Else JUDOPATH = "/usr/judobase"; End if. End if. End if.

Throws:
java.io.FileNotFoundException
java.io.IOException

findInClasspath

public static java.net.URL findInClasspath(java.lang.String name,
                                           java.lang.String realName)
                                    throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException

findFileInClasspath

public static java.io.InputStream findFileInClasspath(java.lang.String name,
                                                      java.lang.String realName)
                                               throws java.io.FileNotFoundException,
                                                      java.io.IOException
Throws:
java.io.FileNotFoundException
java.io.IOException

createSimpleRelation

public static ExprRelational createSimpleRelation(java.lang.String op,
                                                  Expr lhs,
                                                  Expr rhs)

createSimpleArith

public static Expr createSimpleArith(java.lang.String op,
                                     Expr lhs,
                                     Expr rhs)

arrayToJudoArray

public static _Array arrayToJudoArray(java.lang.Object[] oa)
                               throws java.lang.Exception
Throws:
java.lang.Exception

registerToBSF

public static void registerToBSF()

genTempVarName

public static java.lang.String genTempVarName()

genTempVarName

public static java.lang.String genTempVarName(java.lang.String prefix)

getJavaPrimitiveTypeName

public static java.lang.String getJavaPrimitiveTypeName(int type)

loadProperties

public static java.util.Properties loadProperties(java.lang.String name,
                                                  boolean mandatory)

comWrap

public static Variable comWrap(java.lang.Object val)
                        throws java.lang.Exception
Throws:
java.lang.Exception

getSSH

public static Variable getSSH(java.lang.String host,
                              int port,
                              java.lang.String user,
                              java.lang.String pass,
                              java.lang.String cipher)
                       throws java.lang.Exception
Throws:
java.lang.Exception

scp

public static void scp(java.lang.String host,
                       int port,
                       java.lang.String user,
                       java.lang.String pass,
                       java.lang.String cipher,
                       java.lang.String[] src,
                       java.lang.String dest,
                       boolean recursive,
                       boolean toRemote,
                       boolean verbose)
                throws java.lang.Exception
Throws:
java.lang.Exception

parseString

public static Expr parseString(java.lang.String s)

processMarkup

public static void processMarkup(Markup mu)

parseStringAsObject

public static java.lang.Object parseStringAsObject(java.lang.String s)
Returns a list of String's or AccessVar's.


getTempDir

public static java.lang.String getTempDir()

isNil

public static boolean isNil(Variable var)

isDate

public static boolean isDate(Variable v)

getTime

public static long getTime(Variable v)

getLocale

public static java.util.Locale getLocale(Expr[] params)

toArray

public static _Array toArray(Variable[] a)
                      throws java.lang.Throwable
Throws:
java.lang.Throwable

toVariable

public static Variable toVariable(java.lang.Object o)

toVariable

public static Variable toVariable(java.lang.Object val,
                                  java.lang.Class type)

fixFilePaths

public static java.lang.String fixFilePaths(java.lang.String paths)

fixIncludeFilePath

public static java.lang.String fixIncludeFilePath(java.lang.String path,
                                                  java.lang.String refPath)

fixFilePath

public static java.lang.String fixFilePath(java.lang.String path)

parseParams

public static java.lang.String[] parseParams(java.lang.String s)
Parse a string to be a number of parameters. The params string can be:
  -a b c
  -a=1 -b='1 3 5'
TODO: for now, simply StringTokenize it.


toChar

public static char toChar(Expr var)

getPathName

public static java.lang.String getPathName(java.io.File f)

toParameterNameString

public static java.lang.String toParameterNameString(java.lang.Object o)
                                              throws java.lang.Throwable
Throws:
java.lang.Throwable

checkJCE

public static void checkJCE()
                     throws ExceptionRuntime
Throws:
ExceptionRuntime

getJavaException

public static java.lang.Throwable getJavaException(java.lang.Throwable th)

toLinePrintWriter

public static LinePrintWriter toLinePrintWriter(java.lang.Object output)
                                         throws java.lang.Exception
Throws:
java.lang.Exception

toLinePrintWriter

public static LinePrintWriter toLinePrintWriter(java.lang.Object output,
                                                boolean append)
                                         throws java.lang.Exception
Throws:
java.lang.Exception

copy

public static void copy(Variable src,
                        Variable dest)
                 throws java.lang.Throwable
Throws:
java.lang.Throwable

isGetter

public static java.lang.String isGetter(java.lang.reflect.Method mthd)
Returns:
the property name if it is a getter; otherwise, null.

getRegexEngine

public static RegexEngine getRegexEngine()
                                  throws ExceptionRuntime
Throws:
ExceptionRuntime