Class AbstractMultiLevelExpressionParseContext

    • Constructor Detail

      • AbstractMultiLevelExpressionParseContext

        public AbstractMultiLevelExpressionParseContext​(ExpressionParseContext base)
    • Method Detail

      • getDelegateParseContext

        protected ExpressionParseContext getDelegateParseContext()
        Returns the parse context that this one delegates to on failure to create a bound expression
      • getBaseFunctionFactory

        protected FunctionFactory getBaseFunctionFactory()
        Sub classes do some strange things, this lets them get the base function factory
      • createBoundExpression

        public Expression createBoundExpression​(java.lang.String path)
                                         throws java.lang.RuntimeException
        Description copied from interface: ExpressionParseContext
        Called to create expressions to represent bound elements, like:

         { path.to.something }
         
        Specified by:
        createBoundExpression in interface ExpressionParseContext
        Parameters:
        path - the text content inside the braces.
        Throws:
        java.lang.RuntimeException - because the CUP parser doesn't have a throws on the function that calls this inside the parser
      • tryCreateBoundExpression

        protected abstract Expression tryCreateBoundExpression​(java.lang.String path)
        This function should create the expression if possible. If not, it should return null instead of throwing the error, in which case the parent parse context will be tried.