java.lang.Object
org.jooq.util.postgres.PGobject
org.jooq.util.postgres.PGInterval
- All Implemented Interfaces:
Serializable
,Cloneable
This implements a class that handles the PostgreSQL interval type.
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionrequired by the driver.PGInterval
(int years, int months, int days, int hours, int minutes, double seconds) Initializes all values of this interval to the specified values.PGInterval
(String value) Initialize a interval with a given interval string representation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Rolls this interval on a given calendar.void
Rolls this interval on a given date.void
add
(PGInterval interval) Add this interval's value to the passed interval.clone()
This must be overidden to allow the object to be cloned.boolean
Returns whether an object is equal to this one or not.int
getDays()
Returns the days represented by this interval.int
getHours()
Returns the hours represented by this interval.int
int
Returns the minutes represented by this interval.int
Returns the months represented by this interval.double
Returns the seconds represented by this interval.getValue()
Returns the stored interval information as a string.int
int
getYears()
Returns the years represented by this interval.int
hashCode()
Returns a hashCode for this object.void
scale
(int factor) Scale this interval by an integer factor.void
setDays
(int days) Set the days of this interval to the specified value.void
setHours
(int hours) Set the hours of this interval to the specified value.void
setMinutes
(int minutes) Set the minutes of this interval to the specified value.void
setMonths
(int months) Set the months of this interval to the specified value.void
setSeconds
(double seconds) Set the seconds of this interval to the specified value.void
setValue
(int years, int months, int days, int hours, int minutes, double seconds) Set all values of this interval to the specified values.void
Sets a interval string represented value to this instance.void
setYears
(int years) Set the years of this interval to the specified value.
-
Constructor Details
-
PGInterval
public PGInterval()required by the driver. -
PGInterval
Initialize a interval with a given interval string representation.- Parameters:
value
- String representated interval (e.g. '3 years 2 mons')- See Also:
-
PGInterval
public PGInterval(int years, int months, int days, int hours, int minutes, double seconds) Initializes all values of this interval to the specified values.- Parameters:
years
- yearsmonths
- monthsdays
- dayshours
- hoursminutes
- minutesseconds
- seconds- See Also:
-
-
Method Details
-
setValue
Sets a interval string represented value to this instance. This method only recognize the format, that Postgres returns - not all input formats are supported (e.g. '1 yr 2 m 3 s'). -
setValue
public void setValue(int years, int months, int days, int hours, int minutes, double seconds) Set all values of this interval to the specified values.- Parameters:
years
- yearsmonths
- monthsdays
- dayshours
- hoursminutes
- minutesseconds
- seconds
-
getValue
Returns the stored interval information as a string. -
getYears
public int getYears()Returns the years represented by this interval.- Returns:
- years represented by this interval
-
setYears
public void setYears(int years) Set the years of this interval to the specified value.- Parameters:
years
- years to set
-
getMonths
public int getMonths()Returns the months represented by this interval.- Returns:
- months represented by this interval
-
setMonths
public void setMonths(int months) Set the months of this interval to the specified value.- Parameters:
months
- months to set
-
getDays
public int getDays()Returns the days represented by this interval.- Returns:
- days represented by this interval
-
setDays
public void setDays(int days) Set the days of this interval to the specified value.- Parameters:
days
- days to set
-
getHours
public int getHours()Returns the hours represented by this interval.- Returns:
- hours represented by this interval
-
setHours
public void setHours(int hours) Set the hours of this interval to the specified value.- Parameters:
hours
- hours to set
-
getMinutes
public int getMinutes()Returns the minutes represented by this interval.- Returns:
- minutes represented by this interval
-
setMinutes
public void setMinutes(int minutes) Set the minutes of this interval to the specified value.- Parameters:
minutes
- minutes to set
-
getSeconds
public double getSeconds()Returns the seconds represented by this interval.- Returns:
- seconds represented by this interval
-
getWholeSeconds
public int getWholeSeconds() -
getMicroSeconds
public int getMicroSeconds() -
setSeconds
public void setSeconds(double seconds) Set the seconds of this interval to the specified value.- Parameters:
seconds
- seconds to set
-
add
Rolls this interval on a given calendar.- Parameters:
cal
- Calendar instance to add to
-
add
Rolls this interval on a given date.- Parameters:
date
- Date instance to add to
-
add
Add this interval's value to the passed interval. This is backwards to what I would expect, but this makes it match the other existing add methods.- Parameters:
interval
- intval to add
-
scale
public void scale(int factor) Scale this interval by an integer factor. The server can scale by arbitrary factors, but that would require adjusting the call signatures for all the existing methods like getDays() or providing our own justification of fractional intervals. Neither of these seem like a good idea without a strong use case.- Parameters:
factor
- scale factor
-
equals
Returns whether an object is equal to this one or not. -
hashCode
public int hashCode()Returns a hashCode for this object. -
clone
Description copied from class:PGobject
This must be overidden to allow the object to be cloned.- Overrides:
clone
in classPGobject
- Throws:
CloneNotSupportedException
-