public class DurationArgumentFactory extends AbstractArgumentFactory<Duration>
Duration.
For simplicity, this implementation makes the duration positive before proceeding. However, this can cause an
ArithmeticException to be thrown. E.g., this can occur if your duration is -2^63 seconds.
Not all Durations can be represented as intervals in Postgres.
One incompatibility results from Durations that are too large. This is due to (1) Durations using
a long internally, and PGIntervals using ints; and (2) the conversion of days to months or
years being ambiguous.
Another results from Durations being too precise; they have nanosecond precision, whereas Postgres has only
microsecond.
An IllegalArgumentException will be thrown in these cases.
The handling of the second is subject to revision in the future; for example, it would be reasonable to have a
configurable truncation option.
| Constructor and Description |
|---|
DurationArgumentFactory() |
| Modifier and Type | Method and Description |
|---|---|
Argument |
build(Duration duration,
ConfigRegistry config) |
buildpublic Argument build(Duration duration, ConfigRegistry config)
build in class AbstractArgumentFactory<Duration>Copyright © 2018. All rights reserved.