Package org.postgresql.util
Class PGInterval
- java.lang.Object
-
- org.postgresql.util.PGobject
-
- org.postgresql.util.PGInterval
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class PGInterval extends PGobject implements java.io.Serializable, java.lang.Cloneable
This implements a class that handles the PostgreSQL interval type- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description PGInterval()
required by the driverPGInterval(int years, int months, int days, int hours, int minutes, double seconds)
Initializes all values of this interval to the specified valuesPGInterval(java.lang.String value)
Initialize a interval with a given interval string representation
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(java.util.Calendar cal)
Rolls this interval on a given calendarvoid
add(java.util.Date date)
Rolls this interval on a given datevoid
add(PGInterval interval)
Add this interval's value to the passed interval.boolean
equals(java.lang.Object obj)
Returns whether an object is equal to this one or notint
getDays()
Returns the days represented by this intervalint
getHours()
Returns the hours represented by this intervalint
getMinutes()
Returns the minutes represented by this intervalint
getMonths()
Returns the months represented by this intervaldouble
getSeconds()
Returns the seconds represented by this intervaljava.lang.String
getValue()
Returns the stored interval information as a stringint
getYears()
Returns the years represented by this intervalint
hashCode()
Returns a hashCode for this objectvoid
scale(int factor)
Scale this interval by an integer factor.void
setDays(int days)
Set the days of this interval to the specified valuevoid
setHours(int hours)
Set the hours of this interval to the specified valuevoid
setMinutes(int minutes)
Set the minutes of this interval to the specified valuevoid
setMonths(int months)
Set the months of this interval to the specified valuevoid
setSeconds(double seconds)
Set the seconds of this interval to the specified valuevoid
setValue(int years, int months, int days, int hours, int minutes, double seconds)
Set all values of this interval to the specified valuesvoid
setValue(java.lang.String value)
Sets a interval string represented value to this instance.void
setYears(int years)
Set the years of this interval to the specified value
-
-
-
Constructor Detail
-
PGInterval
public PGInterval()
required by the driver
-
PGInterval
public PGInterval(java.lang.String value) throws java.sql.SQLException
Initialize a interval with a given interval string representation- Parameters:
value
- String representated interval (e.g. '3 years 2 mons')- Throws:
java.sql.SQLException
- Is thrown if the string representation has an unknown format- See Also:
setValue(String)
-
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
-
-
Method Detail
-
setValue
public void setValue(java.lang.String value) throws java.sql.SQLException
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
-
getValue
public java.lang.String getValue()
Returns the stored interval information as a string
-
getYears
public int getYears()
Returns the years represented by this interval
-
setYears
public void setYears(int years)
Set the years of this interval to the specified value
-
getMonths
public int getMonths()
Returns the months represented by this interval
-
setMonths
public void setMonths(int months)
Set the months of this interval to the specified value
-
getDays
public int getDays()
Returns the days represented by this interval
-
setDays
public void setDays(int days)
Set the days of this interval to the specified value
-
getHours
public int getHours()
Returns the hours represented by this interval
-
setHours
public void setHours(int hours)
Set the hours of this interval to the specified value
-
getMinutes
public int getMinutes()
Returns the minutes represented by this interval
-
setMinutes
public void setMinutes(int minutes)
Set the minutes of this interval to the specified value
-
getSeconds
public double getSeconds()
Returns the seconds represented by this interval
-
setSeconds
public void setSeconds(double seconds)
Set the seconds of this interval to the specified value
-
add
public void add(java.util.Calendar cal)
Rolls this interval on a given calendar- Parameters:
cal
- Calendar instance to add to
-
add
public void add(java.util.Date date)
Rolls this interval on a given date- Parameters:
date
- Date instance to add to
-
add
public void add(PGInterval interval)
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.
-
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.
-
equals
public boolean equals(java.lang.Object obj)
Returns whether an object is equal to this one or not
-
-