Package org.postgresql.geometric

# 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:
  - Serialized Form

## Field Summary

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

### Fields inherited from class org.postgresql.util.PGobject

`type, value`

## Constructor Summary

Constructors
Constructor
Description
`PGpoint()`
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
`Object`
`clone()`
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`
`getValue()`
This must be overridden, to return the value of the object, in the form required by org.postgresql.
`int`
`hashCode()`
Compute hash.
`int`
`lengthInBytes()`
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`
`setLocation(Point p)`
Moves the point to the supplied java.awt.Point refer to java.awt.Point for description of this.
`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:
  - `Point`

### setLocation

public void setLocation(Point p)
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:
  - `Point`

### 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`