net.sourceforge.webcompmath.data
Class StandardFunction

java.lang.Object
  extended by net.sourceforge.webcompmath.data.StandardFunction
All Implemented Interfaces:
java.io.Serializable, MathObject

public class StandardFunction
extends java.lang.Object
implements MathObject

This class exists to associate standard functions, such as sin and abs, with their names. Note that the functions are actually implemented in the ExprsssionProgram class, where they are only represented by numerical operation codes. An object of type StandardFunction contains a name and the operation code of the associated standard function. A static routine, standardFunctionName, gives the name associated with each operation code.

See Also:
Serialized Form

Constructor Summary
StandardFunction(int opCode)
          Create a StandardFunction object to represent the standard function with the given operation code, where opCode is one of the codes for standard functions defined in class ExpressionProgram.
StandardFunction(java.lang.String name, int opCode)
          Create a StandardFunction object to represent the standard function with the given operation code, where opCode is one of the codes for stadard functions defined in class ExpressionProgram.
 
Method Summary
 java.lang.String getName()
          Return the name of this StandardFunction oject.
 int getOpCode()
          Return the operation code for this standard function.
 void setName(java.lang.String name)
          Change the name of this StandardFunction.
static java.lang.String standardFunctionName(int opCode)
          Return the usual name for the standard function with the specified opCode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardFunction

public StandardFunction(int opCode)
Create a StandardFunction object to represent the standard function with the given operation code, where opCode is one of the codes for standard functions defined in class ExpressionProgram. The name is the one associated with the opCode by the static function standardFunctionName() in this class. An error will occur if opCode is not one of the valid standard function operation codes.

Parameters:
opCode - opcode to use in creating the function

StandardFunction

public StandardFunction(java.lang.String name,
                        int opCode)
Create a StandardFunction object to represent the standard function with the given operation code, where opCode is one of the codes for stadard functions defined in class ExpressionProgram. Use the specified name for the standard function. This allows you to make alternative names, such as "log" instead of "log10". An error will occur if opCode is not one of the valid standard function operation codes.

Parameters:
name - name of the function
opCode - opcode to use in creating the function
Method Detail

getOpCode

public int getOpCode()
Return the operation code for this standard function.

Returns:
opcode used when function was created

getName

public java.lang.String getName()
Return the name of this StandardFunction oject.

Specified by:
getName in interface MathObject
Returns:
name of the function

setName

public void setName(java.lang.String name)
Change the name of this StandardFunction. This shouldn't be done if this object is registered with a Parser.

Specified by:
setName in interface MathObject
Parameters:
name - name of the function

standardFunctionName

public static java.lang.String standardFunctionName(int opCode)
Return the usual name for the standard function with the specified opCode. The opcodes are defined in the ExpressionProgram class. Will throw an IllegalArgumentException if the specified oPcode is not the opcode for any standard function.

Parameters:
opCode - opcode whose name is desired
Returns:
the name