Package org.elasticsearch.common
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
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRounding.Builderstatic classRounding.DateTimeUnitNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Constructor Summary
Constructors Constructor Description Rounding() -
Method Summary
Modifier and Type Method Description static Rounding.Builderbuilder(Rounding.DateTimeUnit unit)static Rounding.Builderbuilder(org.elasticsearch.common.unit.TimeValue interval)abstract booleanequals(java.lang.Object obj)abstract inthashCode()abstract byteid()abstract voidinnerWriteTo(StreamOutput out)abstract longnextRoundingValue(long value)Given the rounded value (which was potentially generated byround(long), returns the next rounding value.abstract longoffset()Deprecated.We're in the process of abstracting offset *into* Rounding so keep any usage to migratory shimsstatic Roundingread(StreamInput in)abstract longround(long value)Rounds the given value.abstract RoundingwithoutOffset()Strip theoffsetfrom these bounds.voidwriteTo(StreamOutput out)Write this into the StreamOutput.
-
Constructor Details
-
Rounding
public Rounding()
-
-
Method Details
-
innerWriteTo
- Throws:
java.io.IOException
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput. -
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 byround(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
-
offset
@Deprecated public abstract long offset()Deprecated.We're in the process of abstracting offset *into* Rounding so keep any usage to migratory shimsHow "offset" this rounding is from the traditional "start" of the period. -
withoutOffset
Strip theoffsetfrom these bounds. -
equals
public abstract boolean equals(java.lang.Object obj)- Overrides:
equalsin classjava.lang.Object
-
hashCode
public abstract int hashCode()- Overrides:
hashCodein classjava.lang.Object
-
builder
-
builder
-
read
- Throws:
java.io.IOException
-