# # Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one # or more contributor license agreements. Licensed under the "Elastic License # 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side # Public License v 1"; you may not use this file except in compliance with, at # your election, the "Elastic License 2.0", the "GNU Affero General Public # License v3.0 only", or the "Server Side Public License, v 1". # # # Painless definition file. This defines the hierarchy of classes, # what methods and fields they have, etc. # #### Interfaces class java.time.temporal.Temporal { Temporal minus(long,TemporalUnit) Temporal minus(TemporalAmount) Temporal plus(long,TemporalUnit) Temporal plus(TemporalAmount) long until(Temporal,TemporalUnit) Temporal with(TemporalAdjuster) Temporal with(TemporalField,long) } class java.time.temporal.TemporalAccessor { int get(TemporalField) long getLong(TemporalField) boolean isSupported(TemporalField) def query(TemporalQuery) ValueRange range(TemporalField) # An easy method to convert temporalAccessors to millis since epoch similar to Instant#toEpochMilli. long org.elasticsearch.painless.api.Augmentation toEpochMilli() long org.elasticsearch.painless.api.Augmentation getMillis() } class java.time.temporal.TemporalAdjuster { Temporal adjustInto(Temporal) } class java.time.temporal.TemporalAmount { Temporal addTo(Temporal) long get(TemporalUnit) List getUnits() Temporal subtractFrom(Temporal) } class java.time.temporal.TemporalField { Temporal adjustInto(Temporal,long) TemporalUnit getBaseUnit() String getDisplayName(Locale) long getFrom(TemporalAccessor) TemporalUnit getRangeUnit() boolean isDateBased() boolean isSupportedBy(TemporalAccessor) boolean isTimeBased() ValueRange range() ValueRange rangeRefinedBy(TemporalAccessor) TemporalAccessor resolve(Map,TemporalAccessor,ResolverStyle) String toString() } class java.time.temporal.TemporalQuery { def queryFrom(TemporalAccessor) } class java.time.temporal.TemporalUnit { Temporal addTo(Temporal,long) long between(Temporal,Temporal) Duration getDuration() boolean isDateBased() boolean isDurationEstimated() boolean isSupportedBy(Temporal) boolean isTimeBased() String toString() } #### Classes class java.time.temporal.IsoFields { TemporalField DAY_OF_QUARTER TemporalField QUARTER_OF_YEAR TemporalUnit QUARTER_YEARS TemporalField WEEK_BASED_YEAR TemporalUnit WEEK_BASED_YEARS TemporalField WEEK_OF_WEEK_BASED_YEAR } class java.time.temporal.JulianFields { TemporalField JULIAN_DAY TemporalField MODIFIED_JULIAN_DAY TemporalField RATA_DIE } class java.time.temporal.TemporalAdjusters { TemporalAdjuster dayOfWeekInMonth(int,DayOfWeek) TemporalAdjuster firstDayOfMonth() TemporalAdjuster firstDayOfNextMonth() TemporalAdjuster firstDayOfNextYear() TemporalAdjuster firstDayOfYear() TemporalAdjuster firstInMonth(DayOfWeek) TemporalAdjuster lastDayOfMonth() TemporalAdjuster lastDayOfYear() TemporalAdjuster lastInMonth(DayOfWeek) TemporalAdjuster next(DayOfWeek) TemporalAdjuster nextOrSame(DayOfWeek) TemporalAdjuster ofDateAdjuster(UnaryOperator) TemporalAdjuster previous(DayOfWeek) TemporalAdjuster previousOrSame(DayOfWeek) } class java.time.temporal.TemporalQueries { TemporalQuery chronology() TemporalQuery localDate() TemporalQuery localTime() TemporalQuery offset() TemporalQuery precision() TemporalQuery zone() TemporalQuery zoneId() } class java.time.temporal.ValueRange { int checkValidIntValue(long,TemporalField) long checkValidValue(long,TemporalField) long getLargestMinimum() long getMaximum() long getMinimum() long getSmallestMaximum() boolean isFixed() boolean isIntValue() boolean isValidIntValue(long) boolean isValidValue(long) ValueRange of(long,long) ValueRange of(long,long,long) ValueRange of(long,long,long,long) } class java.time.temporal.WeekFields { WeekFields ISO WeekFields SUNDAY_START TemporalUnit WEEK_BASED_YEARS TemporalField dayOfWeek() DayOfWeek getFirstDayOfWeek() int getMinimalDaysInFirstWeek() WeekFields of(DayOfWeek,int) WeekFields of(Locale) TemporalField weekBasedYear() TemporalField weekOfMonth() TemporalField weekOfWeekBasedYear() TemporalField weekOfYear() } #### Enums class java.time.temporal.ChronoField { ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR ChronoField ALIGNED_WEEK_OF_MONTH ChronoField ALIGNED_WEEK_OF_YEAR ChronoField AMPM_OF_DAY ChronoField CLOCK_HOUR_OF_AMPM ChronoField CLOCK_HOUR_OF_DAY ChronoField DAY_OF_MONTH ChronoField DAY_OF_WEEK ChronoField DAY_OF_YEAR ChronoField EPOCH_DAY ChronoField ERA ChronoField HOUR_OF_AMPM ChronoField HOUR_OF_DAY ChronoField INSTANT_SECONDS ChronoField MICRO_OF_DAY ChronoField MICRO_OF_SECOND ChronoField MILLI_OF_DAY ChronoField MILLI_OF_SECOND ChronoField MINUTE_OF_DAY ChronoField MINUTE_OF_HOUR ChronoField MONTH_OF_YEAR ChronoField NANO_OF_DAY ChronoField NANO_OF_SECOND ChronoField OFFSET_SECONDS ChronoField PROLEPTIC_MONTH ChronoField SECOND_OF_DAY ChronoField SECOND_OF_MINUTE ChronoField YEAR ChronoField YEAR_OF_ERA int checkValidIntValue(long) long checkValidValue(long) ChronoField valueOf(String) ChronoField[] values() } class java.time.temporal.ChronoUnit { ChronoUnit CENTURIES ChronoUnit DAYS ChronoUnit DECADES ChronoUnit ERAS ChronoUnit FOREVER ChronoUnit HALF_DAYS ChronoUnit HOURS ChronoUnit MICROS ChronoUnit MILLENNIA ChronoUnit MILLIS ChronoUnit MINUTES ChronoUnit MONTHS ChronoUnit NANOS ChronoUnit SECONDS ChronoUnit WEEKS ChronoUnit YEARS ChronoUnit valueOf(String) ChronoUnit[] values() } #### Exceptions class java.time.temporal.UnsupportedTemporalTypeException { (String) }