|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.basedb.util.jep.MeanFunction
public class MeanFunction
A JEP function class that adds a mean(string)
function to a
JEP expression parser. The function will calculate the mean value of the raw data
property with the given name. For example:
mean('ch1BgMean')
To be able to use this function it must be registered with the JEP parser and, before the expression is evaluated, a rawbioassay object must be set. For example we can evaluate an expression for every raw data object in a raw bioassay:
DbControl dc = ... RawBioAssay assay = ... String expression = "raw('ch1FgMean') - mean('ch1BgMean')"; RawFunction raw = new RawFunction(assay.getRawDataType()); MeanFunction mean = new MeanFunction(assay); JEP jep = JepUtil.newJep(expression, raw, mean); DataResultIterator<RawData> result = assay.getRawData().iterate(dc); while (result.hasNext()) { raw.setRawData(result.next()); double value = jep.getValue(); // Do something with the value } result.close();
Jep
Field Summary | |
---|---|
private DbControl |
dc
|
private Map<String,Float> |
means
Holds a cache of the values. |
private int |
numParameters
|
private RawBioAssay |
rawBioAssay
|
private RawData |
rawData
|
Constructor Summary | |
---|---|
MeanFunction(DbControl dc)
Create a new instance of this function working with raw data of the specified raw bio assay. |
Method Summary | |
---|---|
boolean |
checkNumberOfParameters(int n)
|
String |
getFunctionName()
Get the name of this function. |
int |
getNumberOfParameters()
|
RawData |
getRawData()
Get the current raw data object used when evaluating the JEP expression. |
float |
mean(String propertyName)
Get the value of the specified property of the current raw data object. |
void |
run(Stack stack)
|
void |
setCurNumberOfParameters(int n)
|
void |
setRawData(RawData rawData)
Set a new raw data object that will be used the next time the JEP expression is evaluated. |
Expression |
toExpression(Node node)
Use the Dynamic.meanRawData(String) method to create an
expression for the mean of the given raw data property. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final Map<String,Float> means
private final DbControl dc
private int numParameters
private RawBioAssay rawBioAssay
private RawData rawData
Constructor Detail |
---|
public MeanFunction(DbControl dc)
dc
- DbControl used in this functionMethod Detail |
---|
public String getFunctionName()
JepFunction
JEP
parser.
getFunctionName
in interface JepFunction
JEP.addFunction(String, PostfixMathCommandI)
public Expression toExpression(Node node)
Dynamic.meanRawData(String)
method to create an
expression for the mean of the given raw data property.
toExpression
in interface JepExpressionFunction
node
- The node representing this function
Expression
objectpublic int getNumberOfParameters()
getNumberOfParameters
in interface org.nfunk.jep.function.PostfixMathCommandI
public void setCurNumberOfParameters(int n)
setCurNumberOfParameters
in interface org.nfunk.jep.function.PostfixMathCommandI
public boolean checkNumberOfParameters(int n)
checkNumberOfParameters
in interface org.nfunk.jep.function.PostfixMathCommandI
public void run(Stack stack) throws ParseException
run
in interface org.nfunk.jep.function.PostfixMathCommandI
ParseException
public void setRawData(RawData rawData)
rawData
- The raw data object to usepublic RawData getRawData()
public float mean(String propertyName) throws ParseException
propertyName
- The name of the raw data property. Null is not allowed.
ParseException
- If the property name is null or
if there is another error.
|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |