org.postgis.jts

## Class JtsGisWrapper

- java.lang.Object
- - org.postgresql.Driver
  - - org.postgis.jts.JtsGisWrapper

All Implemented Interfaces:
  Driver

    public class JtsGisWrapper
    extends org.postgresql.Driver

JtsGisWrapper Wraps the PostGreSQL Driver to add the JTS/PostGIS Object Classes. This method currently works with J2EE DataSource implementations, and with DriverManager framework. Simply replace the "jdbc:postgresql:" with a "jdbc:postgresql_JTS" in the jdbc URL.

Author:
  markus.schaber@logix-tt.com

### Field Summary

Fields
`static String` `REVISION`

### Fields inherited from class org.postgresql.Driver

`DEBUG, INFO, MAJORVERSION, MINORVERSION`

### Constructor Summary

Constructors
Constructor and Description
`JtsGisWrapper()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `acceptsURL(String url)` Returns true if the driver thinks it can open a connection to the given URL.
`static void` `addGISTypes(org.postgresql.PGConnection pgconn)` Adds the JTS/PostGIS Data types to a PG Connection.
`Connection` `connect(String url, Properties info)` Creates a postgresql connection, and then adds the PostGIS data types to it calling addpgtypes()
`int` `getMajorVersion()` Gets the underlying drivers major version number
`int` `getMinorVersion()` Get the underlying drivers minor version number
`static String` `getVersion()` Returns our own CVS version plus postgres Version
`static String` `mangleURL(String url)` Mangles the PostGIS URL to return the original PostGreSQL URL

### Methods inherited from class org.postgresql.Driver

`getLogLevel, getParentLogger, getPropertyInfo, jdbcCompliant, notImplemented, setLogLevel`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### REVISION

    public static final String REVISION

See Also:
  Constant Field Values

### Constructor Detail

#### JtsGisWrapper

    public JtsGisWrapper()

### Method Detail

#### connect

    public Connection connect(String url,
                              Properties info)
                       throws SQLException

Creates a postgresql connection, and then adds the PostGIS data types to it calling addpgtypes()

Specified by:
  `connect` in interface `Driver`
Overrides:
  `connect` in class `org.postgresql.Driver`
Parameters:
  `url` - the URL of the database to connect to
  `info` - a list of arbitrary tag/value pairs as connection arguments
Returns:
  a connection to the URL or null if it isnt us
Throws:
  `SQLException` - if a database access error occurs
See Also:
  `Driver.connect(java.lang.String, java.util.Properties)`, `Driver`

#### addGISTypes

    public static void addGISTypes(org.postgresql.PGConnection pgconn)
                            throws SQLException

Adds the JTS/PostGIS Data types to a PG Connection.

Parameters:
  `pgconn` - The PGConnection object to add the types to
Throws:
  `SQLException` - when an SQLException occurs

#### mangleURL

    public static String mangleURL(String url)
                            throws SQLException

Mangles the PostGIS URL to return the original PostGreSQL URL

Parameters:
  `url` - String containing the url to be "mangled"
Returns:
  "mangled" string
Throws:
  `SQLException` - when a SQLException occurs

#### acceptsURL

    public boolean acceptsURL(String url)
                       throws SQLException

Returns true if the driver thinks it can open a connection to the given URL. Typically, drivers will return true if they understand the subprotocol specified in the URL and false if they don't. Our protocols start with jdbc:postgresql_postGIS:

Specified by:
  `acceptsURL` in interface `Driver`
Overrides:
  `acceptsURL` in class `org.postgresql.Driver`
Parameters:
  `url` - the URL of the driver
Returns:
  true if this driver accepts the given URL
Throws:
  `SQLException` - if a database-access error occurs (Dont know why it would *shrug*)
See Also:
  `Driver.acceptsURL(java.lang.String)`

#### getMajorVersion

    public int getMajorVersion()

Gets the underlying drivers major version number

Specified by:
  `getMajorVersion` in interface `Driver`
Overrides:
  `getMajorVersion` in class `org.postgresql.Driver`
Returns:
  the drivers major version number

#### getMinorVersion

    public int getMinorVersion()

Get the underlying drivers minor version number

Specified by:
  `getMinorVersion` in interface `Driver`
Overrides:
  `getMinorVersion` in class `org.postgresql.Driver`
Returns:
  the drivers minor version number

#### getVersion

    public static String getVersion()

Returns our own CVS version plus postgres Version

Returns:
  String representation of the version