Class ANum

  • All Implemented Interfaces:
    Iterable<Item>
    Direct Known Subclasses:
    Dbl, Dec, Flt, Int, Uln

    public abstract class ANum
    extends Item
    Abstract super class for all numeric items. Useful for removing exceptions and unifying hash values.
    Author:
    BaseX Team 2005-24, BSD License, Leo Woerteler
    • Method Detail

      • string

        public final byte[] string​(InputInfo ii)
        Description copied from class: Item
        Returns a string representation of the value.
        Specified by:
        string in class Item
        Parameters:
        ii - input info (can be null)
        Returns:
        string value
      • dbl

        public final double dbl​(InputInfo ii)
        Description copied from class: Item
        Returns a double representation of the value.
        Overrides:
        dbl in class Item
        Parameters:
        ii - input info (can be null)
        Returns:
        double value
      • itr

        public final long itr​(InputInfo ii)
        Description copied from class: Item
        Returns an integer (long) representation of the value.
        Overrides:
        itr in class Item
        Parameters:
        ii - input info (can be null)
        Returns:
        long value
      • flt

        public final float flt​(InputInfo ii)
        Description copied from class: Item
        Returns a float representation of the value.
        Overrides:
        flt in class Item
        Parameters:
        ii - input info (can be null)
        Returns:
        float value
      • atomicEqual

        public final boolean atomicEqual​(Item item)
                                  throws QueryException
        Description copied from class: Item
        Compares items for atomic equality. Called by FnAtomicEqual.
        Overrides:
        atomicEqual in class Item
        Parameters:
        item - item to be compared
        Returns:
        result of check
        Throws:
        QueryException - query exception
      • string

        protected abstract byte[] string()
        Returns a string representation of the value.
        Returns:
        string value
      • itr

        public abstract long itr()
        Returns an integer (long) representation of the value.
        Returns:
        long value
      • dbl

        public abstract double dbl()
        Returns a double representation of the value.
        Returns:
        double value
      • flt

        protected abstract float flt()
        Returns a float representation of the value.
        Returns:
        float value
      • abs

        public abstract ANum abs()
        Returns an absolute value.
        Returns:
        absolute value
      • ceiling

        public abstract ANum ceiling()
        Returns an ceiling value.
        Returns:
        ceiling value
      • floor

        public abstract ANum floor()
        Returns an floor value.
        Returns:
        floor value
      • round

        public abstract ANum round​(int scale,
                                   boolean even)
        Returns a rounded value.
        Parameters:
        scale - scale
        even - half-to-even flag
        Returns:
        rounded value
      • comparable

        public final boolean comparable​(Item item)
        Description copied from class: Item
        Checks if the items can be compared.
        Overrides:
        comparable in class Item
        Parameters:
        item - item to be compared
        Returns:
        result of check
      • test

        public boolean test​(QueryContext qc,
                            InputInfo ii,
                            long pos)
                     throws QueryException
        Description copied from class: Expr
        Computes the effective boolean value for this expression.
        Overrides:
        test in class Item
        Parameters:
        qc - query context
        ii - input info (can be null); required for those Value instances that have no input info)
        pos - position of context item (if 0, perform EBV test)
        Returns:
        item
        Throws:
        QueryException - query exception
      • optimizePos

        public final Expr optimizePos​(CmpV.OpV op,
                                      CompileContext cc)
        Description copied from class: Expr
        Optimizes an expression for positional access. Overwritten by Int, Range, RangeSeq}.
        Overrides:
        optimizePos in class Expr
        Parameters:
        op - comparison operator
        cc - compilation context
        Returns:
        boolean result, optimized or original expression
      • hash

        public final int hash()
        Description copied from class: Item
        Returns a hash code for an atomic item. The returned values must be suitable for comparison according to the deep-equal rules.
        Overrides:
        hash in class Item
        Returns:
        hash code
      • toString

        public final void toString​(QueryString qs)
        Description copied from class: ExprInfo
        Creates a query string.
        Specified by:
        toString in class ExprInfo
        Parameters:
        qs - query string builder