org.postgresql.util

## Class PGobject

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

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable

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

    public class PGobject
    extends java.lang.Object
    implements java.io.Serializable, java.lang.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
`protected java.lang.String` `type`
`protected java.lang.String` `value`

### Constructor Summary

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

### Method Summary

Methods
`java.lang.Object` `clone()` This must be overidden to allow the object to be cloned
`boolean` `equals(java.lang.Object obj)` This must be overidden to allow comparisons of objects
`java.lang.String` `getType()` As this cannot change during the life of the object, it's final.
`java.lang.String` `getValue()` This must be overidden, to return the value of the object, in the form required by org.postgresql.
`void` `setType(java.lang.String type)` This method sets the type of this object.
`void` `setValue(java.lang.String value)` This method sets the value of this object.
`java.lang.String` `toString()` This is defined here, so user code need not overide it.

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

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

### Field Detail

#### type

    protected java.lang.String type

#### value

    protected java.lang.String value

### Constructor Detail

#### PGobject

    public PGobject()

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

### Method Detail

#### setType

    public final void setType(java.lang.String type)

This method sets the type of this object.

It should not be extended by subclasses, hence its final

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

#### setValue

    public void setValue(java.lang.String value)
                  throws java.sql.SQLException

This method sets the value of this object. It must be overidden.

Parameters:
  `value` - a string representation of the value of the object
Throws:
  `java.sql.SQLException` - thrown if value is invalid for this type

#### getType

    public final java.lang.String getType()

As this cannot change during the life of the object, it's final.

Returns:
  the type name of this object

#### getValue

    public java.lang.String getValue()

This must be overidden, to return the value of the object, in the form required by org.postgresql.

Returns:
  the value of this object

#### equals

    public boolean equals(java.lang.Object obj)

This must be overidden to allow comparisons of objects

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - Object to compare with
Returns:
  true if the two boxes are identical

#### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

This must be overidden to allow the object to be cloned

Overrides:
  `clone` in class `java.lang.Object`
Throws:
  `java.lang.CloneNotSupportedException`

#### toString

    public java.lang.String toString()

This is defined here, so user code need not overide it.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  the value of this object, in the syntax expected by org.postgresql