Module org.jooq

Class PGInterval

java.lang.Object
org.jooq.util.postgres.PGobject
org.jooq.util.postgres.PGInterval
All Implemented Interfaces:
Serializable, Cloneable

@Internal public class PGInterval extends PGobject
This implements a class that handles the PostgreSQL interval type.
See Also:
  • Field Summary

    Fields inherited from class org.jooq.util.postgres.PGobject

    type, value
  • Constructor Summary

    Constructors
    Constructor
    Description
    required 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.
    Initialize a interval with a given interval string representation.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Rolls this interval on a given calendar.
    void
    add(Date date)
    Rolls this interval on a given date.
    void
    add(PGInterval interval)
    Add this interval's value to the passed interval.
    This must be overidden to allow the object to be cloned.
    boolean
    Returns whether an object is equal to this one or not.
    int
    Returns the days represented by this interval.
    int
    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.
    Returns the stored interval information as a string.
    int
     
    int
    Returns the years represented by this interval.
    int
    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.

    Methods inherited from class org.jooq.util.postgres.PGobject

    equals, getType, isNull, setType, toString

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • PGInterval

      public PGInterval()
      required by the driver.
    • PGInterval

      public PGInterval(String value)
      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 - years
      months - months
      days - days
      hours - hours
      minutes - minutes
      seconds - seconds
      See Also:
  • Method Details

    • setValue

      public void setValue(String value)
      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').
      Overrides:
      setValue in class PGobject
      Parameters:
      value - String representated interval (e.g. '3 years 2 mons')
    • 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 - years
      months - months
      days - days
      hours - hours
      minutes - minutes
      seconds - seconds
    • getValue

      public String getValue()
      Returns the stored interval information as a string.
      Overrides:
      getValue in class PGobject
      Returns:
      String represented interval
    • 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

      public void add(Calendar cal)
      Rolls this interval on a given calendar.
      Parameters:
      cal - Calendar instance to add to
    • add

      public void add(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.
      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

      public boolean equals(Object obj)
      Returns whether an object is equal to this one or not.
      Overrides:
      equals in class PGobject
      Parameters:
      obj - Object to compare with
      Returns:
      true if the two intervals are identical
    • hashCode

      public int hashCode()
      Returns a hashCode for this object.
      Overrides:
      hashCode in class PGobject
      Returns:
      hashCode
    • clone

      public Object clone() throws CloneNotSupportedException
      Description copied from class: PGobject
      This must be overidden to allow the object to be cloned.
      Overrides:
      clone in class PGobject
      Throws:
      CloneNotSupportedException