Package net.sf.basedb.util.jep
Class RawChannelFunction
- java.lang.Object
-
- net.sf.basedb.util.jep.RawChannelFunction
-
- All Implemented Interfaces:
JepExpressionFunction
,JepFunction
,org.nfunk.jep.function.PostfixMathCommandI
public class RawChannelFunction extends Object implements JepExpressionFunction
A JEP function class that adds arawCh(int)
function to a JEP expression parser. The function will look up the (possible transformed) intensity value for the given channel. For example:rawCh(1)
Note! This function always return the values as they are stored in the database. Use
ChannelFunction
if you need the untransformed intensity values.To be able to use this function it must be registered with the JEP parser and, before the expression is evaluated, a
SqlResult
object must be set.- Version:
- 2.12
- Author:
- Nicklas
- See Also:
Jep
,BioAssaySetUtil.createJepExpression(DbControl, String, DynamicQuery)
- Last modified
- $Date: 2015-04-20 11:08:18 +0200 (må, 20 apr 2015) $
-
-
Field Summary
Fields Modifier and Type Field Description private int[]
channelToIndex
private int
numParameters
private SqlResult
result
-
Constructor Summary
Constructors Constructor Description RawChannelFunction()
Create a new instance of this function.RawChannelFunction(int[] channelToIndex)
Create a new instance of this function which can be used to dynamically evaluate expressions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
channel(int channel)
Get the value of the specified channel of the current sql result.boolean
checkNumberOfParameters(int n)
String
getFunctionName()
Get the name of this function.int
getNumberOfParameters()
void
run(Stack stack)
void
setCurNumberOfParameters(int n)
void
setSqlResult(SqlResult result)
Set a newSqlResult
object that will be used the next time the JEP expression is evaluated.Expression
toExpression(Node node)
Use theDynamic.column(VirtualColumn)
method to create an expression referencing a channel intensity.
-
-
-
Field Detail
-
channelToIndex
private int[] channelToIndex
-
result
private SqlResult result
-
numParameters
private int numParameters
-
-
Constructor Detail
-
RawChannelFunction
public RawChannelFunction()
Create a new instance of this function. The new instance cannot be used to dynamically evaluate expressions. It should only be used for converting JEP formulas toExpression
:s.
-
RawChannelFunction
public RawChannelFunction(int[] channelToIndex)
Create a new instance of this function which can be used to dynamically evaluate expressions.- Parameters:
channelToIndex
- An array that maps channel numbers to column indexes in the SqlResult, array position 0 maps the index of channel number 1, etc.- See Also:
setSqlResult(SqlResult)
-
-
Method Detail
-
getFunctionName
public String getFunctionName()
Description copied from interface:JepFunction
Get the name of this function. It is used when registering the function with aJEP
parser.- Specified by:
getFunctionName
in interfaceJepFunction
- Returns:
- The string "rawCh"
- See Also:
JEP.addFunction(String, PostfixMathCommandI)
-
toExpression
public Expression toExpression(Node node)
Use theDynamic.column(VirtualColumn)
method to create an expression referencing a channel intensity.- Specified by:
toExpression
in interfaceJepExpressionFunction
- Parameters:
node
- The node representing this function- Returns:
- An
Expression
object
-
getNumberOfParameters
public int getNumberOfParameters()
- Specified by:
getNumberOfParameters
in interfaceorg.nfunk.jep.function.PostfixMathCommandI
- Returns:
- Always 1
-
setCurNumberOfParameters
public void setCurNumberOfParameters(int n)
- Specified by:
setCurNumberOfParameters
in interfaceorg.nfunk.jep.function.PostfixMathCommandI
-
checkNumberOfParameters
public boolean checkNumberOfParameters(int n)
- Specified by:
checkNumberOfParameters
in interfaceorg.nfunk.jep.function.PostfixMathCommandI
-
run
public void run(Stack stack) throws ParseException
- Specified by:
run
in interfaceorg.nfunk.jep.function.PostfixMathCommandI
- Throws:
ParseException
-
setSqlResult
public void setSqlResult(SqlResult result)
Set a newSqlResult
object that will be used the next time the JEP expression is evaluated.- Parameters:
result
- The result object
-
channel
public Object channel(int channel) throws ParseException
Get the value of the specified channel of the current sql result.- Parameters:
channel
- The channel number- Throws:
ParseException
- Either if it's an invalid channel number or if no result object has been specified.
-
-