org.axiondb.functions
Class SubstringFunction

java.lang.Object
  extended byorg.axiondb.BaseSelectable
      extended byorg.axiondb.functions.BaseFunction
          extended byorg.axiondb.functions.SubstringFunction
All Implemented Interfaces:
ConcreteFunction, Function, FunctionFactory, ScalarFunction, Selectable, Serializable

public class SubstringFunction
extends BaseFunction
implements ScalarFunction, FunctionFactory

Syntax: SUBSTRING(str, m [,n]) -- m is one(1) based index.)

Version:
$Revision: 1.4 $ $Date: 2004/09/09 23:47:44 $
See Also:
Serialized Form

Constructor Summary
SubstringFunction()
          Creates a new instance of Class
 
Method Summary
 Object evaluate(RowDecorator row)
          Returns substring of str, beginning at character m, n characters long.
 DataType getDataType()
          StringType
 boolean isValid()
           
 ConcreteFunction makeNewInstance()
           
 
Methods inherited from class org.axiondb.functions.BaseFunction
addArgument, getAlias, getArgument, getArgumentCount, getLabel, getName, setAlias, setArgument, setName, setVariableContext, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.axiondb.Function
addArgument, getAlias, getArgument, getArgumentCount, getName, setAlias, setArgument
 
Methods inherited from interface org.axiondb.Selectable
getLabel, setVariableContext
 

Constructor Detail

SubstringFunction

public SubstringFunction()
Creates a new instance of Class

Method Detail

makeNewInstance

public ConcreteFunction makeNewInstance()
Specified by:
makeNewInstance in interface FunctionFactory

getDataType

public DataType getDataType()
StringType

Specified by:
getDataType in interface Selectable
Specified by:
getDataType in class BaseFunction

evaluate

public Object evaluate(RowDecorator row)
                throws AxionException
Returns substring of str, beginning at character m, n characters long. If m is 0, it is treated as 1. If m is positive, it counts from the beginning of str to find the first character. If m is negative, it counts backwards from the end of str. If n is omitted, it returns all characters to the end of str. If n is less than 1, a null is returned. Floating-point numbers passed as arguments to substr are automatically converted to integers. If m greater than length of str, return null. If m+n is bigger than length of str, ignore n. if str is null, return null.

Specified by:
evaluate in interface ScalarFunction
Throws:
AxionException

isValid

public boolean isValid()
Specified by:
isValid in interface ConcreteFunction
Specified by:
isValid in class BaseFunction