Class JexlInfo

  • Direct Known Subclasses:
    JexlNode.Info

    public class JexlInfo
    extends java.lang.Object
    Helper class to carry information such as a url/file name, line and column for debugging information reporting.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  JexlInfo.Detail
      Describes errors more precisely.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int column
      Column number.
      private int line
      Line number.
      private java.lang.String name
      Name.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        JexlInfo()
      Create an information structure for dynamic set/get/invoke/new.
        JexlInfo​(java.lang.String source, int l, int c)
      Create info.
      protected JexlInfo​(JexlInfo copy)
      The copy constructor.
    • Field Detail

      • line

        private final int line
        Line number.
      • column

        private final int column
        Column number.
      • name

        private final java.lang.String name
        Name.
    • Constructor Detail

      • JexlInfo

        public JexlInfo()
        Create an information structure for dynamic set/get/invoke/new.

        This gathers the class, method and line number of the first calling method outside of o.a.c.jexl3.

      • JexlInfo

        protected JexlInfo​(JexlInfo copy)
        The copy constructor.
        Parameters:
        copy - the instance to copy
      • JexlInfo

        public JexlInfo​(java.lang.String source,
                        int l,
                        int c)
        Create info.
        Parameters:
        source - source name
        l - line number
        c - column number
    • Method Detail

      • from

        public static JexlInfo from​(JexlScript script)
        Gets the info from a script.
        Parameters:
        script - the script
        Returns:
        the info
      • at

        public JexlInfo at​(int l,
                           int c)
        Creates info reusing the name.
        Parameters:
        l - the line
        c - the column
        Returns:
        a new info instance
      • detach

        public JexlInfo detach()
        Returns:
        this instance or a copy without any decorations
      • getColumn

        public final int getColumn()
        Gets the column number.
        Returns:
        the column.
      • getDetail

        public JexlInfo.Detail getDetail()
        Returns:
        the detailed information in case of an error
      • getLine

        public final int getLine()
        Gets the line number.
        Returns:
        line number.
      • getName

        public final java.lang.String getName()
        Gets the file/script/url name.
        Returns:
        template name
      • toString

        public java.lang.String toString()
        Formats this info in the form 'name@line:column'.
        Overrides:
        toString in class java.lang.Object
        Returns:
        the formatted info