Package com.simplicite.util
Class ScriptInterpreter
- java.lang.Object
-
- com.simplicite.util.ScriptInterpreter
-
- Direct Known Subclasses:
RhinoScriptInterpreter
public abstract class ScriptInterpreter extends java.lang.Object
Script interpreter abstract wrapper
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CP
static java.lang.String
CW
static java.lang.String
PM
static java.lang.String[]
STANDARD_CLASSES
Standard additional classesstatic java.lang.String[]
STANDARD_PACKAGES
Standard packagesstatic java.lang.String
WP
-
Constructor Summary
Constructors Constructor Description ScriptInterpreter()
ScriptInterpreter(GrantCore grant)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
check(java.lang.String script)
abstract void
debug(java.lang.String name, java.lang.String src)
Debug sourcejava.lang.Object
eval(ExternalObject ext, java.lang.String script, java.util.Map<java.lang.String,java.lang.Object> in, java.util.Map<java.lang.String,java.lang.Object> out)
java.lang.Object
eval(ObjectCore obj, int context, java.lang.String script)
java.lang.Object
eval(ObjectCore obj, java.lang.String[] row, int context, java.lang.String script, java.util.Map<java.lang.String,java.lang.Object> in, java.util.Map<java.lang.String,java.lang.Object> out)
java.lang.Object
eval(java.lang.String script)
java.lang.Object
eval(java.lang.String script, java.util.Map<java.lang.String,java.lang.Object> in, java.util.Map<java.lang.String,java.lang.Object> out)
static java.lang.Class<?>
findClass(java.lang.String cls)
Find class among the standard packagesstatic java.lang.String[][]
getArrayOfStringArray(int arraylength, int length)
Create a new array of Java string array suitable for scripting usage (typical usage for list rows)javax.script.ScriptEngine
getEngine()
abstract java.lang.String
getEngineName()
abstract java.lang.String
getEngineVersion()
java.lang.String
getInitializers()
static org.json.JSONObject
getJavadocInfo(java.lang.String cls)
Get javadoc info from specified class (looked up in standard packages if non fully qalified name)static java.lang.Object
getObject()
Create a new Java object suitable for scripting usagestatic java.lang.Object[]
getObjectArray(int length)
Create a new Java object array suitable for scripting usagestatic java.lang.String[]
getPublicMethods(java.lang.String cls)
Get public methods from specified class (looked up in standard packages if non fully qalified name)static java.lang.String
getString()
Create a new Java string suitable for scripting usagestatic java.lang.String[]
getStringArray(int length)
Create a new Java string array suitable for scripting usagestatic java.lang.Boolean
parseBoolean(java.lang.Object res)
Parses single Boolean resultstatic byte[]
parseByteArray(java.lang.Object res)
Parses single byte array result or nullstatic java.lang.Character
parseChar(java.lang.Object res)
Parses single Char resultstatic java.util.Date
parseDate(java.lang.Object res)
Parses single Date resultstatic java.lang.Integer
parseInt(java.lang.Object res)
Parses single Integer resultstatic java.util.List<?>
parseList(java.lang.Object res)
Parses result as List of objectsstatic java.lang.Long
parseLong(java.lang.Object res)
Parses single Long resultstatic Message
parseMessage(java.lang.Object res)
Parses single message resultstatic java.lang.String
parseString(java.lang.Object res)
Parses single String resultstatic java.util.List<java.lang.String>
parseStringArray(java.lang.Object res)
Parses String Array resultstatic java.util.List<java.lang.String[]>
parseStringArrayList(java.lang.Object res)
Parses String array list resultvoid
runtimeError(java.lang.String method, javax.script.ScriptException e, java.util.List<SharedScript>[] scrs, java.lang.String[] names, java.lang.String[] sources, Grant g)
Log the script error with the corresponding source part (in many scripts or sources)void
syntaxError(java.lang.String method, java.lang.Exception e, java.lang.String scriptId, java.lang.String code, java.lang.String source, Grant g)
Log the script error with the corresponding source part
-
-
-
Field Detail
-
PM
public static final java.lang.String PM
- See Also:
- Constant Field Values
-
WP
public static final java.lang.String WP
- See Also:
- Constant Field Values
-
CP
public static final java.lang.String CP
- See Also:
- Constant Field Values
-
CW
public static final java.lang.String CW
- See Also:
- Constant Field Values
-
STANDARD_PACKAGES
public static final java.lang.String[] STANDARD_PACKAGES
Standard packages
-
STANDARD_CLASSES
public static final java.lang.String[] STANDARD_CLASSES
Standard additional classes
-
-
Constructor Detail
-
ScriptInterpreter
public ScriptInterpreter()
-
ScriptInterpreter
public ScriptInterpreter(GrantCore grant)
-
-
Method Detail
-
getEngineName
public abstract java.lang.String getEngineName()
-
getEngineVersion
public abstract java.lang.String getEngineVersion()
-
getEngine
public javax.script.ScriptEngine getEngine()
-
findClass
public static java.lang.Class<?> findClass(java.lang.String cls)
Find class among the standard packages- Parameters:
cls
- Class name- Returns:
- Class
-
check
public abstract void check(java.lang.String script) throws ScriptException
- Throws:
ScriptException
-
eval
public java.lang.Object eval(java.lang.String script) throws ScriptException
- Throws:
ScriptException
-
eval
public java.lang.Object eval(java.lang.String script, java.util.Map<java.lang.String,java.lang.Object> in, java.util.Map<java.lang.String,java.lang.Object> out) throws ScriptException
- Throws:
ScriptException
-
eval
public java.lang.Object eval(ObjectCore obj, int context, java.lang.String script) throws ScriptException
- Throws:
ScriptException
-
getInitializers
public java.lang.String getInitializers()
-
eval
public java.lang.Object eval(ObjectCore obj, java.lang.String[] row, int context, java.lang.String script, java.util.Map<java.lang.String,java.lang.Object> in, java.util.Map<java.lang.String,java.lang.Object> out) throws ScriptException
- Throws:
ScriptException
-
eval
public java.lang.Object eval(ExternalObject ext, java.lang.String script, java.util.Map<java.lang.String,java.lang.Object> in, java.util.Map<java.lang.String,java.lang.Object> out) throws ScriptException
- Throws:
ScriptException
-
getString
public static java.lang.String getString()
Create a new Java string suitable for scripting usage- Returns:
- Java String
-
getObject
public static java.lang.Object getObject()
Create a new Java object suitable for scripting usage- Returns:
- Java Object
-
getStringArray
public static java.lang.String[] getStringArray(int length)
Create a new Java string array suitable for scripting usage- Parameters:
length
- Array length- Returns:
- Java String array
-
getArrayOfStringArray
public static java.lang.String[][] getArrayOfStringArray(int arraylength, int length)
Create a new array of Java string array suitable for scripting usage (typical usage for list rows)- Parameters:
arraylength
- Length of the array of string arraylength
- Length of each string array- Returns:
- Java array of String array
-
getObjectArray
public static java.lang.Object[] getObjectArray(int length)
Create a new Java object array suitable for scripting usage- Parameters:
length
- Array length- Returns:
- Java Object array
-
parseByteArray
public static byte[] parseByteArray(java.lang.Object res)
Parses single byte array result or null- Parameters:
res
- Result- Returns:
- Parsed single byte array
-
parseMessage
public static Message parseMessage(java.lang.Object res)
Parses single message result- Parameters:
res
- Result- Returns:
- Parsed single message
-
parseBoolean
public static java.lang.Boolean parseBoolean(java.lang.Object res)
Parses single Boolean result- Parameters:
res
- Result- Returns:
- Parsed single Boolean
-
parseLong
public static java.lang.Long parseLong(java.lang.Object res)
Parses single Long result- Parameters:
res
- Result- Returns:
- Parsed single Long
-
parseInt
public static java.lang.Integer parseInt(java.lang.Object res)
Parses single Integer result- Parameters:
res
- Result- Returns:
- Parsed single Integer
-
parseString
public static java.lang.String parseString(java.lang.Object res)
Parses single String result- Parameters:
res
- Result- Returns:
- Parsed single String
-
parseDate
public static java.util.Date parseDate(java.lang.Object res)
Parses single Date result- Parameters:
res
- Result- Returns:
- Parsed single Date
-
parseChar
public static java.lang.Character parseChar(java.lang.Object res)
Parses single Char result- Parameters:
res
- Result- Returns:
- Parsed single Char
-
parseStringArrayList
public static java.util.List<java.lang.String[]> parseStringArrayList(java.lang.Object res)
Parses String array list result- Parameters:
res
- Result- Returns:
- Parsed String array list
-
parseList
public static java.util.List<?> parseList(java.lang.Object res)
Parses result as List of objects- Parameters:
res
- Result- Returns:
- Parsed List of objects
-
parseStringArray
public static java.util.List<java.lang.String> parseStringArray(java.lang.Object res)
Parses String Array result- Parameters:
res
- Result- Returns:
- Parsed string array
-
syntaxError
public void syntaxError(java.lang.String method, java.lang.Exception e, java.lang.String scriptId, java.lang.String code, java.lang.String source, Grant g)
Log the script error with the corresponding source part- Parameters:
method
- Method namee
- Script exceptionscriptId
- Script Id or nullcode
- Script namesource
- Source codeg
- User rights
-
runtimeError
public void runtimeError(java.lang.String method, javax.script.ScriptException e, java.util.List<SharedScript>[] scrs, java.lang.String[] names, java.lang.String[] sources, Grant g)
Log the script error with the corresponding source part (in many scripts or sources)- Parameters:
method
- Method namee
- Script exceptionscrs
- List of shared codes or nullnames
- List of script names or nullsources
- List of sources related to namesg
- User rights
-
getPublicMethods
public static java.lang.String[] getPublicMethods(java.lang.String cls) throws java.lang.Exception
Get public methods from specified class (looked up in standard packages if non fully qalified name)- Parameters:
cls
- Class name- Returns:
- Methods names
- Throws:
java.lang.Exception
-
getJavadocInfo
public static org.json.JSONObject getJavadocInfo(java.lang.String cls)
Get javadoc info from specified class (looked up in standard packages if non fully qalified name)- Parameters:
cls
- Class name- Returns:
- Javadoc info
-
debug
public abstract void debug(java.lang.String name, java.lang.String src) throws java.lang.Exception
Debug source- Parameters:
name
- Source file namesrc
- Source- Throws:
java.lang.Exception
-
-