org.apache.poi.hssf.record.formula.functions
Class TextFunction

java.lang.Object
  extended by org.apache.poi.hssf.record.formula.functions.TextFunction
All Implemented Interfaces:
Function

public abstract class TextFunction
extends java.lang.Object
implements Function

Author:
Amol S. Deshmukh < amolweb at ya hoo dot com >, Josh Micich, Stephen Wolke (smwolke at geistig.com)

Field Summary
static Function CONCATENATE
           
protected static java.lang.String EMPTY_STRING
           
static Function EXACT
           
static Function FIND
          Implementation of the FIND() function.

Syntax:
FIND(find_text, within_text, start_num)

FIND returns the character position of the first (case sensitive) occurrence of find_text inside within_text.

static Function LEFT
           
static Function LEN
           
static Function LOWER
           
static Function MID
          An implementation of the MID function
MID returns a specific number of characters from a text string, starting at the specified position.

Syntax:
MID(text, start_num, num_chars)
Author: Manda Wilson < wilson at c bio dot msk cc dot org >

static Function RIGHT
           
static Function SEARCH
          Implementation of the FIND() function.

Syntax:
SEARCH(find_text, within_text, start_num)

SEARCH is a case-insensitive version of FIND()

static Function TEXT
          An implementation of the TEXT function
TEXT returns a number value formatted with the given number formatting string.
static Function TRIM
          An implementation of the TRIM function: Removes leading and trailing spaces from value if evaluated operand value is string.
static Function UPPER
           
 
Constructor Summary
TextFunction()
           
 
Method Summary
 ValueEval evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)
           
protected static double evaluateDoubleArg(ValueEval arg, int srcCellRow, int srcCellCol)
           
protected abstract  ValueEval evaluateFunc(ValueEval[] args, int srcCellRow, int srcCellCol)
           
protected static int evaluateIntArg(ValueEval arg, int srcCellRow, int srcCellCol)
           
protected static java.lang.String evaluateStringArg(ValueEval eval, int srcRow, int srcCol)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_STRING

protected static final java.lang.String EMPTY_STRING
See Also:
Constant Field Values

LEN

public static final Function LEN

LOWER

public static final Function LOWER

UPPER

public static final Function UPPER

TRIM

public static final Function TRIM
An implementation of the TRIM function: Removes leading and trailing spaces from value if evaluated operand value is string. Author: Manda Wilson < wilson at c bio dot msk cc dot org >


MID

public static final Function MID
An implementation of the MID function
MID returns a specific number of characters from a text string, starting at the specified position.

Syntax:
MID(text, start_num, num_chars)
Author: Manda Wilson < wilson at c bio dot msk cc dot org >


LEFT

public static final Function LEFT

RIGHT

public static final Function RIGHT

CONCATENATE

public static final Function CONCATENATE

EXACT

public static final Function EXACT

TEXT

public static final Function TEXT
An implementation of the TEXT function
TEXT returns a number value formatted with the given number formatting string. This function is not a complete implementation of the Excel function. This function implements decimal formatting with the Java class DecimalFormat. For date formatting this function uses the SimpleDateFormat class.

Syntax:
TEXT(value, format_text)


FIND

public static final Function FIND
Implementation of the FIND() function.

Syntax:
FIND(find_text, within_text, start_num)

FIND returns the character position of the first (case sensitive) occurrence of find_text inside within_text. The third parameter, start_num, is optional (default=1) and specifies where to start searching from. Character positions are 1-based.

Author: Torstein Tauno Svendsen (torstei@officenet.no)


SEARCH

public static final Function SEARCH
Implementation of the FIND() function.

Syntax:
SEARCH(find_text, within_text, start_num)

SEARCH is a case-insensitive version of FIND()

Constructor Detail

TextFunction

public TextFunction()
Method Detail

evaluateStringArg

protected static final java.lang.String evaluateStringArg(ValueEval eval,
                                                          int srcRow,
                                                          int srcCol)
                                                   throws EvaluationException
Throws:
EvaluationException

evaluateIntArg

protected static final int evaluateIntArg(ValueEval arg,
                                          int srcCellRow,
                                          int srcCellCol)
                                   throws EvaluationException
Throws:
EvaluationException

evaluateDoubleArg

protected static final double evaluateDoubleArg(ValueEval arg,
                                                int srcCellRow,
                                                int srcCellCol)
                                         throws EvaluationException
Throws:
EvaluationException

evaluate

public final ValueEval evaluate(ValueEval[] args,
                                int srcCellRow,
                                int srcCellCol)
Specified by:
evaluate in interface Function
Parameters:
args - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
srcCellRow - row index of the cell containing the formula under evaluation
srcCellCol - column index of the cell containing the formula under evaluation
Returns:
The evaluated result, possibly an ErrorEval, never null. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate to Double.NaN be sure to translate the result to ErrorEval.NUM_ERROR.

evaluateFunc

protected abstract ValueEval evaluateFunc(ValueEval[] args,
                                          int srcCellRow,
                                          int srcCellCol)
                                   throws EvaluationException
Throws:
EvaluationException


Copyright 2010 The Apache Software Foundation or its licensors, as applicable.