Class JexlException

All Implemented Interfaces:
Serializable
Direct Known Subclasses:
JexlException.Annotation, JexlException.Break, JexlException.Cancel, JexlException.Continue, JexlException.Method, JexlException.Operator, JexlException.Parsing, JexlException.Property, JexlException.Return, JexlException.StackOverflow, JexlException.Throw, JexlException.Tokenization, JexlException.TryFailed, JexlException.Variable, JxltEngine.Exception

public class JexlException extends RuntimeException
Wraps any error that might occur during interpretation of a script or expression.
Since:
2.0
See Also:
  • Constructor Details

    • JexlException

      public JexlException(JexlInfo jinfo, String msg, 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(org.apache.commons.jexl3.parser.JexlNode node, String msg)
      Creates a new JexlException.
      Parameters:
      node - the node causing the error
      msg - the error message
    • JexlException

      public JexlException(org.apache.commons.jexl3.parser.JexlNode node, String msg, 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(org.apache.commons.jexl3.parser.JexlNode node, String msg, 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 Details

    • annotationError

      public static String annotationError(org.apache.commons.jexl3.parser.JexlNode node, 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
    • getInfo

      @Deprecated public static JexlInfo getInfo(org.apache.commons.jexl3.parser.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
    • methodError

      @Deprecated public static String methodError(org.apache.commons.jexl3.parser.JexlNode node, 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 String methodError(org.apache.commons.jexl3.parser.JexlNode node, String method, 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
    • operatorError

      public static String operatorError(org.apache.commons.jexl3.parser.JexlNode node, 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 String propertyError(org.apache.commons.jexl3.parser.JexlNode node, 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 String propertyError(org.apache.commons.jexl3.parser.JexlNode node, 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 String sliceSource(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

      Wrap an invocation exception.

      Return the cause if it is already a JexlException.

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

      @Deprecated public static String variableError(org.apache.commons.jexl3.parser.JexlNode node, 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 String variableError(org.apache.commons.jexl3.parser.JexlNode node, 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 String detailedMessage()
      Accesses detailed message.
      Returns:
      the message
    • getDetail

      public final 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 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 Throwable
      Returns:
      this error as a string
    • info

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

      protected String parserError(String prefix, 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