Class Rounding

  • All Implemented Interfaces:
    Writeable

    public abstract class Rounding
    extends java.lang.Object
    implements Writeable
    A strategy for rounding date/time based values. There are two implementations for rounding. The first one requires a date time unit and rounds to the supplied date time unit (i.e. quarter of year, day of month) The second one allows you to specify an interval to round to
    • Constructor Detail

      • Rounding

        public Rounding()
    • Method Detail

      • innerWriteTo

        public abstract void innerWriteTo​(StreamOutput out)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • id

        public abstract byte id()
      • round

        public abstract long round​(long value)
        Rounds the given value.
      • nextRoundingValue

        public abstract long nextRoundingValue​(long value)
        Given the rounded value (which was potentially generated by round(long), returns the next rounding value. For example, with interval based rounding, if the interval is 3, nextRoundValue(6) = 9 .
        Parameters:
        value - The current rounding value
        Returns:
        The next rounding value
      • equals

        public abstract boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public abstract int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • read

        public static Rounding read​(StreamInput in)
                             throws java.io.IOException
        Throws:
        java.io.IOException