jmathlib.core.functions
Class UserFunction

java.lang.Object
  extended by jmathlib.core.interpreter.RootObject
      extended by jmathlib.core.functions.Function
          extended by jmathlib.core.functions.UserFunction
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ErrorCodes, TokenConstants

public class UserFunction
extends Function

Class for storing user defines

See Also:
Serialized Form

Field Summary
private  OperandToken code
          The code of the current m-function
private  boolean mScriptB
          true if this is a M-Script (not a M-function)
private  java.util.ArrayList parameterVariables
          The names of the parameter values
private  java.util.ArrayList returnVariables
          The names of the return values
 
Fields inherited from class jmathlib.core.functions.Function
lastModified, name, pathAndFileName
 
Fields inherited from interface jmathlib.core.constants.ErrorCodes
ERR_BRACKET_OPEN, ERR_BRACKET_ORDER, ERR_FUNCTION_NOT_FOUND, ERR_FUNCTION_NOT_IMPLEMENTED, ERR_INSUFFICIENT_PARAMETERS, ERR_INVALID_PARAMETER, ERR_LVALUE_REQUIRED, ERR_MATRIX_SINGULAR, ERR_NOT_SQUARE_MATRIX, ERR_OPNOTSUPPORTED, ERR_TOO_MANY_PARAMETERS, ERR_USER_ERROR, ERR_VARIABLE_NOTDEFINED, OK, OK_FUNCTION_PROCESS
 
Fields inherited from interface jmathlib.core.constants.TokenConstants
ADDSUB_PRIORITY, AND_PRIORITY, ANDAND_PRIORITY, ASSIGN_PRIORITY, BRACKET_PRIORITY, COMPARE_PRIORITY, CONCAT, MATRIX, MULDIV_PRIORITY, OR_PRIORITY, OROR_PRIORITY, PARAMETER, POWER_PRIORITY, RELATION_PRIORITY, SINGLE, ttDelimiter, ttNotSet, ttOperand, ttOperator
 
Constructor Summary
UserFunction()
          Creates a user function
 
Method Summary
 boolean equals(java.lang.Object obj)
          Tests if an object is equal to this function if obj is an instance of Function or Function token then it compares the name of obj to the functions name otherwise it calls the superclasses version
 OperandToken evaluate(Token[] operands, GlobalValues globals)
          Executes a user function
 boolean isScript()
          returns true if this is a m-script file
 void setCode(OperandToken _code)
          Sets the parsed code as a token tree
 void setParameterVariables(java.util.ArrayList _parameterVariables)
           
 void setReturnVariables(java.util.ArrayList _returnVariables)
           
 void setScript(boolean _mScriptB)
          set true if this is a m-script file and not a function
 
Methods inherited from class jmathlib.core.functions.Function
debugLine, getLastModified, getName, getNArgIn, getNArgOut, getNoOfLeftHandArguments, getPathAndFileName, setLastModified, setName, setNoOfLeftHandArguments, setPathAndFileName, throwMathLibException
 
Methods inherited from class jmathlib.core.interpreter.RootObject
clone, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

code

private OperandToken code
The code of the current m-function


parameterVariables

private java.util.ArrayList parameterVariables
The names of the parameter values


returnVariables

private java.util.ArrayList returnVariables
The names of the return values


mScriptB

private boolean mScriptB
true if this is a M-Script (not a M-function)

Constructor Detail

UserFunction

public UserFunction()
Creates a user function

Method Detail

evaluate

public OperandToken evaluate(Token[] operands,
                             GlobalValues globals)
Executes a user function

Specified by:
evaluate in class Function
Parameters:
operands - - the array of parameters
globals -
Returns:
the result of the function as an OperandToken

equals

public boolean equals(java.lang.Object obj)
Tests if an object is equal to this function if obj is an instance of Function or Function token then it compares the name of obj to the functions name otherwise it calls the superclasses version

Overrides:
equals in class Function
Parameters:
obj - = object to test
Returns:
true if the objects are equal

setParameterVariables

public void setParameterVariables(java.util.ArrayList _parameterVariables)
Parameters:
_parameterVariables -

setReturnVariables

public void setReturnVariables(java.util.ArrayList _returnVariables)
Parameters:
_returnVariables -

setCode

public void setCode(OperandToken _code)
Sets the parsed code as a token tree

Parameters:
code - = parsed code of this function

setScript

public void setScript(boolean _mScriptB)
set true if this is a m-script file and not a function

Parameters:
-

isScript

public boolean isScript()
returns true if this is a m-script file

Returns:

FOOTER

BOTTOM