Class ReporterFunction

  • All Implemented Interfaces:
    JepExpressionFunction, JepFunction, org.nfunk.jep.function.PostfixMathCommandI

    public class ReporterFunction
    extends Object
    implements JepExpressionFunction
    A JEP function class that adds a rep(string) or mrep(string) function to a JEP expression parser. The function will look up the value of the reporter property with the given name. For example: rep('sequence')

    If the mrep variant is used, the master reporter table is used, otherwise the actual query can decide if it should use cloned reporter information or not.

    To be able to use this function it must be registered with the JEP parser and, before the expression is evaluated, a reporter object must be set. For example we can evaluate an expression for every reporter object:

    DbControl dc = ...
    RawBioAssay assay = ...
    String expression = "rep('sequence')";
    ReporterFunction rep = new RepFunction();
    JEP jep = JepUtil.newJep(expression, rep);
    DataResultIterator<RawData> result = 
       assay.getRawData().iterate(dc);
    while (result.hasNext())
    {
       rep.setReporter(result.next().getReporter());
       String value = jep.getValue();
       // Do something with the value
    }
    result.close();
    
    Version:
    2.0
    Author:
    Nicklas
    See Also:
    Jep, BioAssaySetUtil.createJepExpression(DbControl, String, DynamicQuery)
    Last modified
    $Date: 2015-04-20 11:08:18 +0200 (må, 20 apr 2015) $
    • Constructor Detail

      • ReporterFunction

        public ReporterFunction​(boolean master)
        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 to Expression:s. If
        Parameters:
        master - TRUE to force using the master reporter table, FALSE to let the query decide
        Since:
        3.1
      • ReporterFunction

        public ReporterFunction​(DbControl dc,
                                RawDataType rawDataType)
        Create a new instance of this function working with reporters.