Class PGpoint

java.lang.Object
org.postgresql.util.PGobject
org.postgresql.geometric.PGpoint
All Implemented Interfaces:
Serializable, Cloneable, PGBinaryObject

public class PGpoint extends PGobject implements PGBinaryObject, Serializable, Cloneable

It maps to the point datatype in org.postgresql.

This implements a version of java.awt.Point, except it uses double to represent the coordinates.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    boolean
    True if the point represents null::point.
    double
    The X coordinate of the point.
    double
    The Y coordinate of the point.

    Fields inherited from class org.postgresql.util.PGobject

    type, value
  • Constructor Summary

    Constructors
    Constructor
    Description
    Required by the driver.
    PGpoint(double x, double y)
     
    PGpoint(String value)
    This is called mainly from the other geometric types, when a point is embedded within their definition.
  • Method Summary

    Modifier and Type
    Method
    Description
    This must be overridden to allow the object to be cloned.
    boolean
    equals(@Nullable Object obj)
    This must be overridden to allow comparisons of objects.
    @Nullable String
    This must be overridden, to return the value of the object, in the form required by org.postgresql.
    int
    Compute hash.
    int
    This method is called to return the number of bytes needed to store this object in the binary form required by org.postgresql.
    void
    move(double x, double y)
    Moves the point to the supplied coordinates.
    void
    move(int x, int y)
    Moves the point to the supplied coordinates.
    void
    setByteValue(byte[] b, int offset)
    This method is called to set the value of this object.
    void
    setLocation(int x, int y)
    Moves the point to the supplied coordinates.
    void
    Deprecated.
    Will be removed for avoiding a dependency to the java.desktop module.
    void
    setValue(@Nullable String s)
    This method sets the value of this object.
    void
    toBytes(byte[] b, int offset)
    Populate the byte array with PGpoint in the binary syntax expected by org.postgresql.
    void
    translate(double x, double y)
    Translate the point by the supplied amount.
    void
    translate(int x, int y)
    Translate the point by the supplied amount.

    Methods inherited from class org.postgresql.util.PGobject

    equals, getType, isNull, setType, toString

    Methods inherited from class java.lang.Object

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

    • x

      public double x
      The X coordinate of the point.
    • y

      public double y
      The Y coordinate of the point.
    • isNull

      public boolean isNull
      True if the point represents null::point.
  • Constructor Details

    • PGpoint

      public PGpoint(double x, double y)
      Parameters:
      x - coordinate
      y - coordinate
    • PGpoint

      public PGpoint(String value) throws SQLException
      This is called mainly from the other geometric types, when a point is embedded within their definition.
      Parameters:
      value - Definition of this point in PostgreSQL's syntax
      Throws:
      SQLException - if something goes wrong
    • PGpoint

      public PGpoint()
      Required by the driver.
  • Method Details

    • setValue

      public void setValue(@Nullable String s) throws SQLException
      Description copied from class: PGobject
      This method sets the value of this object. It must be overridden.
      Overrides:
      setValue in class PGobject
      Parameters:
      s - Definition of this point in PostgreSQL's syntax
      Throws:
      SQLException - on conversion failure
    • setByteValue

      public void setByteValue(byte[] b, int offset)
      Description copied from interface: PGBinaryObject
      This method is called to set the value of this object.
      Specified by:
      setByteValue in interface PGBinaryObject
      Parameters:
      b - Definition of this point in PostgreSQL's binary syntax
      offset - the offset in the byte array where object data starts
    • equals

      public boolean equals(@Nullable Object obj)
      Description copied from class: PGobject
      This must be overridden to allow comparisons of objects.
      Overrides:
      equals in class PGobject
      Parameters:
      obj - Object to compare with
      Returns:
      true if the two points are identical
    • hashCode

      public int hashCode()
      Description copied from class: PGobject
      Compute hash. As equals() use only value. Return the same hash for the same value.
      Overrides:
      hashCode in class PGobject
      Returns:
      Value hashcode, 0 if value is null Objects.hashCode(Object)
    • getValue

      public @Nullable String getValue()
      Description copied from class: PGobject
      This must be overridden, to return the value of the object, in the form required by org.postgresql.
      Overrides:
      getValue in class PGobject
      Returns:
      the PGpoint in the syntax expected by org.postgresql
    • lengthInBytes

      public int lengthInBytes()
      Description copied from interface: PGBinaryObject
      This method is called to return the number of bytes needed to store this object in the binary form required by org.postgresql.
      Specified by:
      lengthInBytes in interface PGBinaryObject
      Returns:
      the number of bytes needed to store this object
    • toBytes

      public void toBytes(byte[] b, int offset)
      Populate the byte array with PGpoint in the binary syntax expected by org.postgresql.
      Specified by:
      toBytes in interface PGBinaryObject
      Parameters:
      b - the array to store the value, it is guaranteed to be at lest PGBinaryObject.lengthInBytes() in size.
      offset - the offset in the byte array where object must be stored
    • translate

      public void translate(int x, int y)
      Translate the point by the supplied amount.
      Parameters:
      x - integer amount to add on the x axis
      y - integer amount to add on the y axis
    • translate

      public void translate(double x, double y)
      Translate the point by the supplied amount.
      Parameters:
      x - double amount to add on the x axis
      y - double amount to add on the y axis
    • move

      public void move(int x, int y)
      Moves the point to the supplied coordinates.
      Parameters:
      x - integer coordinate
      y - integer coordinate
    • move

      public void move(double x, double y)
      Moves the point to the supplied coordinates.
      Parameters:
      x - double coordinate
      y - double coordinate
    • setLocation

      public void setLocation(int x, int y)
      Moves the point to the supplied coordinates. refer to java.awt.Point for description of this.
      Parameters:
      x - integer coordinate
      y - integer coordinate
      See Also:
    • setLocation

      @Deprecated public void setLocation(Point p)
      Deprecated.
      Will be removed for avoiding a dependency to the java.desktop module.
      Moves the point to the supplied java.awt.Point refer to java.awt.Point for description of this.
      Parameters:
      p - Point to move to
      See Also:
    • clone

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