Package net.postgis.jdbc

# Class DriverWrapperAutoprobe

java.lang.Object
org.postgresql.Driver
net.postgis.jdbc.DriverWrapper
net.postgis.jdbc.DriverWrapperAutoprobe

All Implemented Interfaces:
  `Driver`

public class DriverWrapperAutoprobe extends DriverWrapper
DriverWrapperAutoprobe Wraps the PostGreSQL Driver to transparently add the PostGIS Object Classes. This avoids the need of explicit addDataType() calls from the driver users side. This DriverWrapper tries to autoprobe the installed PostGIS version to decide whether to use EWKT or hex encoded EWKB as canonical text representation. It uses the first PostGIS installation found in your namespace search path (aka schema search path) on the server side, and this works as long as you do not access incompatible PostGIS versions that reside in other schemas. For usage notes, see DriverWrapper class, but use "jdbc:postgresql_autogis:" as JDBC url prefix and net.postgis.jdbc.DriverWrapperAutoprobe as driver class.

Author:
  Markus Schaber <markus.schaber@logix-tt.com>
See Also:
  - `DriverWrapper`

## Nested Class Summary

## Nested classes/interfaces inherited from class net.postgis.jdbc.DriverWrapper

`DriverWrapper.TypesAdder, DriverWrapper.TypesAdder72, DriverWrapper.TypesAdder74, DriverWrapper.TypesAdder80`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`POSTGIS_AUTOPROTOCOL`
`static final String`
`REVISIONAUTO`

### Fields inherited from class net.postgis.jdbc.DriverWrapper

`logger, POSTGIS_PROTOCOL, POSTGRES_PROTOCOL, REVISION, ta72, ta74, ta80, typesAdder`

## Constructor Summary

Constructors
Constructor
Description
`DriverWrapperAutoprobe()`
Default constructor.

## Method Summary

Modifier and Type
Method
Description
`protected String`
`getProtoString()`
`static String`
`getVersion()`
Returns our own CVS version plus postgres Version
`static boolean`
`supportsEWKB(Connection conn)`
`protected boolean`
`useLW(Connection conn)`
Do we have HexWKB as well known text representation - to be overridden by subclasses.

### Methods inherited from class net.postgis.jdbc.DriverWrapper

`acceptsURL, addGISTypes, addGISTypes72, addGISTypes80, connect, getParentLogger, getTypesAdder, mangleURL`

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

`deregister, getMajorVersion, getMinorVersion, getPropertyInfo, getSharedTimer, isRegistered, jdbcCompliant, notImplemented, parseURL, register`

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

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

## Field Details

### POSTGIS_AUTOPROTOCOL

public static final String POSTGIS_AUTOPROTOCOL

See Also:
  - Constant Field Values

### REVISIONAUTO

public static final String REVISIONAUTO

See Also:
  - Constant Field Values

## Constructor Details

### DriverWrapperAutoprobe

public DriverWrapperAutoprobe() throws SQLException
Default constructor.

Throws:
  `SQLException` - when a SQLExceptin occurs

## Method Details

### getProtoString

protected String getProtoString()

Overrides:
  `getProtoString` in class `DriverWrapper`

### useLW

protected boolean useLW(Connection conn)
Description copied from class: `DriverWrapper`
Do we have HexWKB as well known text representation - to be overridden by subclasses.

Overrides:
  `useLW` in class `DriverWrapper`
Parameters:
  `conn` - Connection to check
Returns:
  true if using EWKB, false otherwise

### getVersion

public static String getVersion()
Returns our own CVS version plus postgres Version

Returns:
  String value reprenstation of the version

### supportsEWKB

public static boolean supportsEWKB(Connection conn) throws SQLException

Throws:
  `SQLException`