Package net.sf.basedb.util.jep
Interface JepRestrictionFunction
- All Superinterfaces:
JepFunction
,org.nfunk.jep.function.PostfixMathCommandI
- All Known Implementing Classes:
InReporterListFunction
,NotInReporterListFunction
This interface should be implemented by JEP functions
that can also be converted into a
Restriction
that
can be used in queries.- Version:
- 2.0
- Author:
- Nicklas
- See Also:
- Last modified
- $Date: 2009-06-26 09:37:02 +0200 (fr, 26 jun 2009) $
-
Method Summary
Modifier and TypeMethodDescriptiontoRestriction
(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 Details
-
toRestriction
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
-