Package net.sf.basedb.util.jep
Interface JepRestrictionFunction
-
- All Superinterfaces:
JepFunction
,org.nfunk.jep.function.PostfixMathCommandI
- All Known Implementing Classes:
InReporterListFunction
,NotInReporterListFunction
public interface JepRestrictionFunction extends JepFunction
This interface should be implemented by JEP functions that can also be converted into aRestriction
that can be used in queries.- Version:
- 2.0
- Author:
- Nicklas
- See Also:
Jep.formulaToRestriction(String, JepFunction[])
- Last modified
- $Date: 2009-06-26 09:37:02 +0200 (fr, 26 jun 2009) $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Restriction
toRestriction(Node node)
Convert this function to aRestriction
that can be used in a query.-
Methods inherited from interface net.sf.basedb.util.jep.JepFunction
getFunctionName
-
Methods inherited from interface org.nfunk.jep.function.PostfixMathCommandI
checkNumberOfParameters, getNumberOfParameters, run, setCurNumberOfParameters
-
-
-
-
Method Detail
-
toRestriction
Restriction toRestriction(Node node)
Convert this function to aRestriction
that can be used in a query. The implementation must check that the node contains the correct number of children (ie. arguments to the function) and convert the arguments to whatever is suitable for the restriction. Example from theInReporterListFunction
:inList(list-id)
public Restriction toRestriction(Node node) { int numChildren = node.jjtGetNumChildren(); if (numChildren != 1) { throw new BaseException("Invalid number of expressions for 'inList' function: " + numChildren); } int reporterListId = Jep.nodeToInt(node.jjtGetChild(0)); ReporterList list = ReporterList.getById(dc, reporterListId); return Dynamic.isPartOf(list); }
- Parameters:
node
- The node representing this function- Returns:
- A
Restriction
object
-
-