Class Rounding

java.lang.Object
org.elasticsearch.common.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 Details

  • Method Details

    • innerWriteTo

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

      public void writeTo​(StreamOutput out) throws java.io.IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      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
    • builder

      public static Rounding.Builder builder​(Rounding.DateTimeUnit unit)
    • builder

      public static Rounding.Builder builder​(TimeValue interval)
    • read

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