final LocalDate expectedDate = ((Temporal) expectedValue).query( TemporalQueries.localDate() ); final LocalTime expectedTime = ((Temporal) expectedValue).query( TemporalQueries.localTime() ); final ZoneId expectedZoneId = ((Temporal) expectedValue).query( TemporalQueries.zone() ); LocalDate actualDate = ((Temporal) actualValue).query( TemporalQueries.localDate() ); LocalTime actualTime = ((Temporal) actualValue).query( TemporalQueries.localTime() ); ZoneId actualZoneId = ((Temporal) actualValue).query( TemporalQueries.zone() );
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.localDate()) { return (R) isoDate; } return super.query(query); }
private Optional<LocalDate> getLocalDate(TemporalAccessor parsed) { return Optional.ofNullable(parsed.query(TemporalQueries.localDate())); }
private Optional<LocalDate> getLocalDate(TemporalAccessor parsed) { return Optional.ofNullable(parsed.query(TemporalQueries.localDate())); }
/** * Queries this date-time using the specified query. * <p> * This queries this date-time using the specified query strategy object. * The {@code TemporalQuery} object defines the logic to be used to * obtain the result. Read the documentation of the query to understand * what the result of this method will be. * <p> * The result of this method is obtained by invoking the * {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the * specified query passing {@code this} as the argument. * * @param <R> the type of the result * @param query the query to invoke, not null * @return the query result, null may be returned (defined by the query) * @throws DateTimeException if unable to query (defined by the query) * @throws ArithmeticException if numeric overflow occurs (defined by the query) */ @SuppressWarnings("unchecked") @Override // override for Javadoc public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.localDate()) { return (R) toLocalDate(); } return super.query(query); }
/** * Queries this date using the specified query. * <p> * This queries this date using the specified query strategy object. * The {@code TemporalQuery} object defines the logic to be used to * obtain the result. Read the documentation of the query to understand * what the result of this method will be. * <p> * The result of this method is obtained by invoking the * {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the * specified query passing {@code this} as the argument. * * @param <R> the type of the result * @param query the query to invoke, not null * @return the query result, null may be returned (defined by the query) * @throws DateTimeException if unable to query (defined by the query) * @throws ArithmeticException if numeric overflow occurs (defined by the query) */ @SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.localDate()) { return (R) this; } return super.query(query); }
/** * Obtains an instance of {@code LocalDate} from a temporal object. * <p> * A {@code TemporalAccessor} represents some form of date and time information. * This factory converts the arbitrary temporal object to an instance of {@code LocalDate}. * <p> * The conversion uses the {@link TemporalQueries#localDate()} query, which relies * on extracting the {@link ChronoField#EPOCH_DAY EPOCH_DAY} field. * <p> * This method matches the signature of the functional interface {@link TemporalQuery} * allowing it to be used as a query via method reference, {@code LocalDate::from}. * * @param temporal the temporal object to convert, not null * @return the local date, not null * @throws DateTimeException if unable to convert to a {@code LocalDate} */ public static LocalDate from(TemporalAccessor temporal) { LocalDate date = temporal.query(TemporalQueries.localDate()); if (date == null) { throw new DateTimeException("Unable to obtain LocalDate from TemporalAccessor: " + temporal + ", type " + temporal.getClass().getName()); } return date; }
@Override protected boolean matchesSafely(final T actual, final Description mismatchDesc) { if (!this.adapter.asTemporal(actual, zone).query(localDate()).isLeapYear()) { mismatchDesc.appendText("the date " + this.formatter.describe(actual) + " is not a leap year"); return false; } else { return true; } }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
query == TemporalQueries.localDate()) { return null;
} else if (query == TemporalQueries.precision()) { return (R) MONTHS; } else if (query == TemporalQueries.localDate() || query == TemporalQueries.localTime() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset()) { return null;
@Override public SumkDate queryFrom(TemporalAccessor temporal) { if (temporal instanceof LocalDateTime) { return SumkDate.of((LocalDateTime) temporal); } else if (temporal instanceof ZonedDateTime) { LocalDateTime dt = ((ZonedDateTime) temporal).toLocalDateTime(); return SumkDate.of(dt); } else if (temporal instanceof OffsetDateTime) { LocalDateTime dt = ((OffsetDateTime) temporal).toLocalDateTime(); return SumkDate.of(dt); } LocalDate date = temporal.query(TemporalQueries.localDate()); LocalTime time = temporal.query(TemporalQueries.localTime()); if (date == null && time == null) { return null; } return SumkDate.of(date, time); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.chronology()) { return (R) getChronology(); } else if (query == TemporalQueries.precision()) { return (R) ChronoUnit.DAYS; } else if (query == TemporalQueries.localDate()) { return (R) LocalDate.ofEpochDay(toEpochDay()); } else if (query == TemporalQueries.localTime() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset()) { return null; } return super.query(query); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.zoneId()) { return (R) zone; } else if (query == TemporalQueries.chronology()) { return (R) chrono; } else if (query == TemporalQueries.localDate()) { return date != null ? (R) LocalDate.from(date) : null; } else if (query == TemporalQueries.localTime()) { return (R) time; } else if (query == TemporalQueries.zone() || query == TemporalQueries.offset()) { return query.queryFrom(this); } else if (query == TemporalQueries.precision()) { return null; // not a complete date/time } // inline TemporalAccessor.super.query(query) as an optimization // non-JDK classes are not permitted to make this optimization return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.chronology()) { return (R) getChronology(); } else if (query == TemporalQueries.precision()) { return (R) NANOS; } else if (query == TemporalQueries.localDate()) { return (R) LocalDate.ofEpochDay(toLocalDate().toEpochDay()); } else if (query == TemporalQueries.localTime()) { return (R) toLocalTime(); } else if (query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset()) { return null; } return super.query(query); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.zoneId() || query == TemporalQueries.zone()) { return (R) getZone(); } else if (query == TemporalQueries.chronology()) { return (R) toLocalDate().getChronology(); } else if (query == TemporalQueries.precision()) { return (R) NANOS; } else if (query == TemporalQueries.offset()) { return (R) getOffset(); } else if (query == TemporalQueries.localDate()) { return (R) LocalDate.ofEpochDay(toLocalDate().toEpochDay()); } else if (query == TemporalQueries.localTime()) { return (R) toLocalTime(); } return super.query(query); }