Class JexlException

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private JexlInfo info
      The debug info.
      private JexlNode mark
      The point of origin for this exception.
      private static int MAX_EXCHARLOC
      Maximum number of characters around exception location.
      private static long serialVersionUID  
      private static java.lang.String VARQUOTE
      Used 3 times.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        JexlException​(JexlInfo jinfo, java.lang.String msg, java.lang.Throwable cause)
      Creates a new JexlException.
        JexlException​(JexlNode node, java.lang.String msg)
      Creates a new JexlException.
        JexlException​(JexlNode node, java.lang.String msg, java.lang.Throwable cause)
      Creates a new JexlException.
      protected JexlException​(JexlNode node, java.lang.String msg, java.lang.Throwable cause, boolean trace)
      Creates a new JexlException.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.lang.String annotationError​(JexlNode node, java.lang.String annotation)
      Generates a message for an annotation error.
      JexlException clean()
      Cleans a JexlException from any org.apache.commons.jexl3.internal stack trace element.
      (package private) static <X extends java.lang.Throwable>
      X
      clean​(X xthrow)
      Cleans a Throwable from any org.apache.commons.jexl3.internal stack trace element.
      (package private) static JexlInfo detailedInfo​(JexlNode node, JexlInfo info)
      Gets the most specific information attached to a node.
      protected java.lang.String detailedMessage()
      Accesses detailed message.
      (package private) static java.lang.StringBuilder errorAt​(JexlNode node)
      Creates a string builder pre-filled with common error information (if possible).
      java.lang.String getDetail()  
      JexlInfo getInfo()
      Gets the specific information for this exception.
      static JexlInfo getInfo​(JexlNode node, JexlInfo info)
      Deprecated.
      3.2
      java.lang.String getMessage()
      Detailed info message about this error.
      protected JexlInfo info()
      Pleasing checkstyle.
      (package private) static JexlInfo merge​(JexlInfo info, JavaccError cause)
      Merge the node info and the cause info to obtain the best possible location.
      static java.lang.String methodError​(JexlNode node, java.lang.String method)
      Deprecated.
      3.2
      static java.lang.String methodError​(JexlNode node, java.lang.String method, java.lang.Object[] args)
      Generates a message for a unsolvable method error.
      (package private) static java.lang.String methodSignature​(java.lang.String name, java.lang.Object[] args)
      Creates a signed-name for a given method name and arguments.
      static java.lang.String operatorError​(JexlNode node, java.lang.String symbol)
      Generates a message for an operator error.
      protected java.lang.String parserError​(java.lang.String prefix, java.lang.String expr)
      Formats an error message from the parser.
      static java.lang.String propertyError​(JexlNode node, java.lang.String var)
      Deprecated.
      3.2
      static java.lang.String propertyError​(JexlNode node, java.lang.String pty, boolean undef)
      Generates a message for an unsolvable property error.
      static java.lang.String sliceSource​(java.lang.String src, int froml, int fromc, int tol, int toc)
      Removes a slice from a source.
      static JexlException tryFailed​(java.lang.reflect.InvocationTargetException xinvoke)
      Wrap an invocation exception.
      (package private) static java.lang.Throwable unwrap​(java.lang.Throwable xthrow)
      Unwraps the cause of a throwable due to reflection.
      static java.lang.String variableError​(JexlNode node, java.lang.String variable, boolean undef)
      Deprecated.
      3.2
      static java.lang.String variableError​(JexlNode node, java.lang.String variable, JexlException.VariableIssue issue)
      Generates a message for a variable error.
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • MAX_EXCHARLOC

        private static final int MAX_EXCHARLOC
        Maximum number of characters around exception location.
        See Also:
        Constant Field Values
      • mark

        private final transient JexlNode mark
        The point of origin for this exception.
      • info

        private final transient JexlInfo info
        The debug info.
    • Constructor Detail

      • JexlException

        public JexlException​(JexlInfo jinfo,
                             java.lang.String msg,
                             java.lang.Throwable cause)
        Creates a new JexlException.
        Parameters:
        jinfo - the debugging information associated
        msg - the error message
        cause - the exception causing the error
      • JexlException

        public JexlException​(JexlNode node,
                             java.lang.String msg)
        Creates a new JexlException.
        Parameters:
        node - the node causing the error
        msg - the error message
      • JexlException

        public JexlException​(JexlNode node,
                             java.lang.String msg,
                             java.lang.Throwable cause)
        Creates a new JexlException.
        Parameters:
        node - the node causing the error
        msg - the error message
        cause - the exception causing the error
      • JexlException

        protected JexlException​(JexlNode node,
                                java.lang.String msg,
                                java.lang.Throwable cause,
                                boolean trace)
        Creates a new JexlException.
        Parameters:
        node - the node causing the error
        msg - the error message
        cause - the exception causing the error
        trace - whether this exception has a stack trace and can not be suppressed
    • Method Detail

      • annotationError

        public static java.lang.String annotationError​(JexlNode node,
                                                       java.lang.String annotation)
        Generates a message for an annotation error.
        Parameters:
        node - the node where the error occurred
        annotation - the annotation name
        Returns:
        the error message
        Since:
        3.1
      • clean

        static <X extends java.lang.Throwable> X clean​(X xthrow)
        Cleans a Throwable from any org.apache.commons.jexl3.internal stack trace element.
        Type Parameters:
        X - the throwable type
        Parameters:
        xthrow - the thowable
        Returns:
        the throwable
      • detailedInfo

        static JexlInfo detailedInfo​(JexlNode node,
                                     JexlInfo info)
        Gets the most specific information attached to a node.
        Parameters:
        node - the node
        info - the information
        Returns:
        the information or null
      • errorAt

        static java.lang.StringBuilder errorAt​(JexlNode node)
        Creates a string builder pre-filled with common error information (if possible).
        Parameters:
        node - the node
        Returns:
        a string builder
      • getInfo

        @Deprecated
        public static JexlInfo getInfo​(JexlNode node,
                                       JexlInfo info)
        Deprecated.
        3.2
        Gets the most specific information attached to a node.
        Parameters:
        node - the node
        info - the information
        Returns:
        the information or null
      • merge

        static JexlInfo merge​(JexlInfo info,
                              JavaccError cause)
        Merge the node info and the cause info to obtain the best possible location.
        Parameters:
        info - the node
        cause - the cause
        Returns:
        the info to use
      • methodError

        @Deprecated
        public static java.lang.String methodError​(JexlNode node,
                                                   java.lang.String method)
        Deprecated.
        3.2
        Generates a message for a unsolvable method error.
        Parameters:
        node - the node where the error occurred
        method - the method name
        Returns:
        the error message
      • methodError

        public static java.lang.String methodError​(JexlNode node,
                                                   java.lang.String method,
                                                   java.lang.Object[] args)
        Generates a message for a unsolvable method error.
        Parameters:
        node - the node where the error occurred
        method - the method name
        args - the method arguments
        Returns:
        the error message
      • methodSignature

        static java.lang.String methodSignature​(java.lang.String name,
                                                java.lang.Object[] args)
        Creates a signed-name for a given method name and arguments.
        Parameters:
        name - the method name
        args - the method arguments
        Returns:
        a suitable signed name
      • operatorError

        public static java.lang.String operatorError​(JexlNode node,
                                                     java.lang.String symbol)
        Generates a message for an operator error.
        Parameters:
        node - the node where the error occurred
        symbol - the operator name
        Returns:
        the error message
      • propertyError

        @Deprecated
        public static java.lang.String propertyError​(JexlNode node,
                                                     java.lang.String var)
        Deprecated.
        3.2
        Generates a message for an unsolvable property error.
        Parameters:
        node - the node where the error occurred
        var - the variable
        Returns:
        the error message
      • propertyError

        public static java.lang.String propertyError​(JexlNode node,
                                                     java.lang.String pty,
                                                     boolean undef)
        Generates a message for an unsolvable property error.
        Parameters:
        node - the node where the error occurred
        pty - the property
        undef - whether the property is null or undefined
        Returns:
        the error message
      • sliceSource

        public static java.lang.String sliceSource​(java.lang.String src,
                                                   int froml,
                                                   int fromc,
                                                   int tol,
                                                   int toc)
        Removes a slice from a source.
        Parameters:
        src - the source
        froml - the beginning line
        fromc - the beginning column
        tol - the ending line
        toc - the ending column
        Returns:
        the source with the (begin) to (to) zone removed
      • tryFailed

        public static JexlException tryFailed​(java.lang.reflect.InvocationTargetException xinvoke)
        Wrap an invocation exception.

        Return the cause if it is already a JexlException.

        Parameters:
        xinvoke - the invocation exception
        Returns:
        a JexlException
      • unwrap

        static java.lang.Throwable unwrap​(java.lang.Throwable xthrow)
        Unwraps the cause of a throwable due to reflection.
        Parameters:
        xthrow - the throwable
        Returns:
        the cause
      • variableError

        @Deprecated
        public static java.lang.String variableError​(JexlNode node,
                                                     java.lang.String variable,
                                                     boolean undef)
        Deprecated.
        3.2
        Generates a message for a variable error.
        Parameters:
        node - the node where the error occurred
        variable - the variable
        undef - whether the variable is null or undefined
        Returns:
        the error message
      • variableError

        public static java.lang.String variableError​(JexlNode node,
                                                     java.lang.String variable,
                                                     JexlException.VariableIssue issue)
        Generates a message for a variable error.
        Parameters:
        node - the node where the error occurred
        variable - the variable
        issue - the variable kind of issue
        Returns:
        the error message
      • clean

        public JexlException clean()
        Cleans a JexlException from any org.apache.commons.jexl3.internal stack trace element.
        Returns:
        this exception
      • detailedMessage

        protected java.lang.String detailedMessage()
        Accesses detailed message.
        Returns:
        the message
      • getDetail

        public final java.lang.String getDetail()
        Returns:
        this exception specific detail
        Since:
        3.2
      • getInfo

        public JexlInfo getInfo()
        Gets the specific information for this exception.
        Returns:
        the information
      • getMessage

        public java.lang.String getMessage()
        Detailed info message about this error. Format is "debug![begin,end]: string \n msg" where: - debug is the debugging information if it exists (@link JexlEngine.setDebug) - begin, end are character offsets in the string for the precise location of the error - string is the string representation of the offending expression - msg is the actual explanation message for this error
        Overrides:
        getMessage in class java.lang.Throwable
        Returns:
        this error as a string
      • info

        protected JexlInfo info()
        Pleasing checkstyle.
        Returns:
        the info
      • parserError

        protected java.lang.String parserError​(java.lang.String prefix,
                                               java.lang.String expr)
        Formats an error message from the parser.
        Parameters:
        prefix - the prefix to the message
        expr - the expression in error
        Returns:
        the formatted message