java.lang.Object
org.elasticsearch.common.Rounding
- All Implemented Interfaces:
Writeable
A strategy for rounding milliseconds since epoch.
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.
See this blog for some background reading. Its super interesting and the links are a comedy gold mine. If you like time zones. Or hate them.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic enumstatic interfaceA strategy for rounding milliseconds since epoch.Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Rounding.Builderbuilder(Rounding.DateTimeUnit unit) static Rounding.Builderabstract booleanabstract inthashCode()abstract byteid()abstract voidinnerWriteTo(StreamOutput out) final longnextRoundingValue(long utcMillis) Deprecated.abstract longoffset()Deprecated.We're in the process of abstracting offset *into* Rounding so keep any usage to migratory shimsabstract Rounding.Preparedprepare(long minUtcMillis, long maxUtcMillis) Prepare to round many times.abstract Rounding.PreparedPrepare to round many dates over an unknown range.abstract Rounding.PreparedPrepare rounding forcing the java time implementation.static Roundingread(StreamInput in) final longround(long utcMillis) Deprecated.Preferprepare(long, long)and thenRounding.Prepared.round(long)abstract RoundingStrip theoffsetfrom these bounds.voidwriteTo(StreamOutput out) Write this into the StreamOutput.
-
Constructor Details
-
Rounding
public Rounding()
-
-
Method Details
-
innerWriteTo
- Throws:
IOException
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
id
public abstract byte id() -
prepare
Prepare to round many times. -
prepareForUnknown
Prepare to round many dates over an unknown range. Preferprepare(long, long)if you can find the range because it'll be much more efficient. -
prepareJavaTime
Prepare rounding forcing the java time implementation. Preferprepare(long, long)orprepareForUnknown()which can be much faster. -
round
Deprecated.Preferprepare(long, long)and thenRounding.Prepared.round(long)Rounds the given value. -
nextRoundingValue
Deprecated.Preferprepare(long, long)and thenRounding.Prepared.nextRoundingValue(long)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. -
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
-
hashCode
public abstract int hashCode() -
builder
-
builder
-
read
- Throws:
IOException
-
prepare(long, long)and thenRounding.Prepared.nextRoundingValue(long)