| java.lang.Object murlen.util.fscript.FScript
All known Subclasses: murlen.util.fscript.BasicIO,
FScript | public class FScript implements FSExtension(Code) | | Femto Script - This is the main FScript package class
Copyright (C) 2000-2003 murlen.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA
author: murlen author: Joachim Van der Auwera version: 1.12 version: modifications by Joachim Van der Auwera version: 02.08.2002 added support for FSParserExtension version: 15.03.2003 getContext() |
Constructor Summary | |
public | FScript() |
Method Summary | |
public Object | callFunction(String name, ArrayList params) | Object | callFunctionEntry(String name, ArrayList params) | final public Object | callScriptFunction(String name, ArrayList params) Calls a function in the script - note that if the function is not defined calls
will be made to the subclass callFunction methods - therefore this method should
be used with caution from within an overriden callFunction. | public Object | cont() Continues execution from current point - only really
useful in a document processing application where you may
wish to add code, execute, add some more code..etc.. | public Object | evaluateExpression(String expr) | public String | getContext() | public String[] | getError() Returns more details on any error states, indicated by
FSExceptions. | final public Object | getScriptVar(String name) Gets a variable in script space note that if the varialble is not defined in the
script, calls will be made to subclass getVar methods - therefore this method
should be used with caution from within an overriden getVar. | public Object | getVar(String name) Override this method to allow external access to variables
in your code. | public Object | getVar(String name, Object index) Override this method to allow external access to variables
in your code. | Object | getVarEntry(String name, Object index) | public void | load(Reader is) | public void | loadLine(String line) | public void | registerExtension(FSExtension extension) | public void | reset() | public Object | run() | final public void | setScriptVar(String name, Object value) Sets a variable in script space = the value passed in - the variable
must be have the correct type - note that if the varialble is not defined in the
script, calls will be made to subclass setVar methods - therefore this method
should be used with caution from within an overriden setVar. | public void | setVar(String name, Object value) | public void | setVar(String name, Object index, Object value) | void | setVarEntry(String name, Object index, Object value) | public void | unRegisterExtension(FSExtension extension) |
FScript | public FScript()(Code) | | Constructor
|
callFunction | public Object callFunction(String name, ArrayList params) throws FSException(Code) | | Override this call to implement custom functions
See the BasicIO class for an example
Parameters: name - the function name Parameters: params - an ArrayList of parameter values an Object, currently expected to be Integer or String |
callScriptFunction | final public Object callScriptFunction(String name, ArrayList params) throws IOException, FSException(Code) | | Calls a function in the script - note that if the function is not defined calls
will be made to the subclass callFunction methods - therefore this method should
be used with caution from within an overriden callFunction.
Parameters: name - the name of the function Parameters: params - the parameters to pass (must be correct type and number) the return value of the function (String,Integer) |
cont | public Object cont() throws IOException, FSException(Code) | | Continues execution from current point - only really
useful in a document processing application where you may
wish to add code, execute, add some more code..etc..
any return value of the script's execution (will be one ofFScript's supported type objects, Integer,String,Double) |
getContext | public String getContext()(Code) | | get the current context (executed line, variables etc)
|
getError | public String[] getError()(Code) | | Returns more details on any error states, indicated by
FSExceptions.
String, see below s[0]=the error text s[1]=the line number s[2]=the line text s[3]=the current token s[4]=a variable dump (current scope) s[5]=a global variable dump (only if currnent scope is not global
|
getScriptVar | final public Object getScriptVar(String name) throws FSException(Code) | | Gets a variable in script space note that if the varialble is not defined in the
script, calls will be made to subclass getVar methods - therefore this method
should be used with caution from within an overriden getVar.
Parameters: name - the name of the variable the value of the variable (String,Integer) |
getVar | public Object getVar(String name) throws FSException(Code) | | Override this method to allow external access to variables
in your code.
Parameters: name - the name of the variable the parser is requestinge.gadd this... if (name.equals("one") { return new Integer(1) } to allow the code a=one to work in FScript Object - currently expected to be String or Integer |
getVar | public Object getVar(String name, Object index) throws FSException(Code) | | Override this method to allow external access to variables
in your code.
As getVar(String name) but allows an index variable to be
passed so code such as :
name=list[2]
is possible
Parameters: name - the name of the variable the parser is requesting Object - currently expected to be String, Integer or Double |
load | public void load(Reader is) throws IOException(Code) | | Loads FScript parser with text from an InputStreamReader
Parameters: is - the input stream |
loadLine | public void loadLine(String line)(Code) | | Load an individual line into the parser, intended for
document processing applications
Parameters: line - the line to load |
registerExtension | public void registerExtension(FSExtension extension)(Code) | | Registers language extensions
Parameters: extension - the extension to register |
reset | public void reset()(Code) | | Resets the internal code store
|
run | public Object run() throws IOException, FSException(Code) | | Run the parser over currently loaded code
any return value of the script's execution (will be one ofFScript's supported type objects, Integer,String,Double) |
setScriptVar | final public void setScriptVar(String name, Object value) throws FSException(Code) | | Sets a variable in script space = the value passed in - the variable
must be have the correct type - note that if the varialble is not defined in the
script, calls will be made to subclass setVar methods - therefore this method
should be used with caution from within an overriden setVar.
Parameters: name - the name of the variable Parameters: value - the value to set variable to (String,Integer) |
setVar | public void setVar(String name, Object value) throws FSException(Code) | | Logical inverse of getVar
Parameters: name - the variable name Parameters: value - the value to set it to |
setVar | public void setVar(String name, Object index, Object value) throws FSException(Code) | | Logical inverse of getVar (with index)
Parameters: name - the variable name Parameters: index - the index into the 'array' Parameters: value - the value to set it to |
unRegisterExtension | public void unRegisterExtension(FSExtension extension)(Code) | | Removes a previously registered extenison
Parameters: extension - the extension to remove |
|
|