Package org.postgresql.util

# Class PGobject

java.lang.Object
org.postgresql.util.PGobject

All Implemented Interfaces:
  `Serializable`, `Cloneable`

Direct Known Subclasses:
  `PGbox`, `PGcircle`, `PGInterval`, `PGline`, `PGlseg`, `PGmoney`, `PGpath`, `PGpoint`, `PGpolygon`

public class PGobject extends Object implements Serializable, Cloneable
PGobject is a class used to describe unknown types An unknown type is any type that is unknown by JDBC Standards.

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected @Nullable String`
  `type`
  `protected @Nullable String`
  `value`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PGobject()`
  This is called by org.postgresql.Connection.getObject() to create the object.

- ## 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.
  `protected static boolean`
  `equals(@Nullable Object a, @Nullable Object b)`
  `final String`
  `getType()`
  As this cannot change during the life of the object, it's final.
  `@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.
  `boolean`
  `isNull()`
  Returns true if the current object wraps `null` value.
  `final void`
  `setType(String type)`
  This method sets the type of this object.
  `void`
  `setValue(@Nullable String value)`
  This method sets the value of this object.
  `String`
  `toString()`
  This is defined here, so user code need not override it.

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### type

    protected @Nullable String type

  - ### value

    protected @Nullable String value

- ## Constructor Details

  - ### PGobject

    public PGobject()
    This is called by org.postgresql.Connection.getObject() to create the object.

- ## Method Details

  - ### setType

    public final void setType(String type)

    This method sets the type of this object.

    It should not be extended by subclasses, hence it is final

    Parameters:
      `type` - a string describing the type of the object

  - ### setValue

    public void setValue(@Nullable String value) throws SQLException
    This method sets the value of this object. It must be overridden.
    Parameters:
      `value` - a string representation of the value of the object
    Throws:
      `SQLException` - thrown if value is invalid for this type

  - ### getType

    public final String getType()
    As this cannot change during the life of the object, it's final.
    Returns:
      the type name of this object

  - ### getValue

    public @Nullable String getValue()
    This must be overridden, to return the value of the object, in the form required by org.postgresql.
    Returns:
      the value of this object

  - ### isNull

    public boolean isNull()
    Returns true if the current object wraps `null` value. This might be helpful
    Returns:
      true if the current object wraps `null` value.

  - ### equals

    public boolean equals(@Nullable Object obj)
    This must be overridden to allow comparisons of objects.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - Object to compare with
    Returns:
      true if the two boxes are identical

  - ### clone

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

  - ### toString

    public String toString()
    This is defined here, so user code need not override it.
    Overrides:
      `toString` in class `Object`
    Returns:
      the value of this object, in the syntax expected by org.postgresql

  - ### hashCode

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

  - ### equals

    protected static boolean equals(@Nullable Object a, @Nullable Object b)