Interface JepRestrictionFunction

    • Method Detail

      • toRestriction

        Restriction toRestriction​(Node node)
        Convert this function to a Restriction 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 the InReporterListFunction: 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