org.geotools.data.postgis.fidmapper
Class UUIDFIDMapper

java.lang.Object
  extended by org.geotools.data.jdbc.fidmapper.AbstractFIDMapper
      extended by org.geotools.data.postgis.fidmapper.UUIDFIDMapper
All Implemented Interfaces:
java.io.Serializable, FIDMapper

public class UUIDFIDMapper
extends AbstractFIDMapper

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.geotools.data.jdbc.fidmapper.AbstractFIDMapper
autoIncrement, colDecimalDigits, colNames, colSizes, colTypes, returnFIDColumnsAsAttributes, tableName, tableSchemaName
 
Constructor Summary
UUIDFIDMapper(java.lang.String colName, int type)
           
 
Method Summary
 java.lang.String createID(java.sql.Connection conn, org.opengis.feature.simple.SimpleFeature feature, java.sql.Statement statement)
          Creates a new ID for a feature.
 java.lang.String getID(java.lang.Object[] attributes)
          Returns the FID given the values of the prymary key attributes
 java.lang.Object[] getPKAttributes(java.lang.String FID)
          Creates the value for the PK attributes given the feature.
 boolean isValid(java.lang.String fid)
          Provides a simple means of assessing if a feature id is structurally valid with respect to the fids this FIDMapper creates.
 
Methods inherited from class org.geotools.data.jdbc.fidmapper.AbstractFIDMapper
getColumnCount, getColumnDecimalDigits, getColumnDecimalDigits, getColumnName, getColumnName, getColumnSize, getColumnSize, getColumnType, getColumnType, getTableName, getTableSchemaName, hasAutoIncrementColumns, initSupportStructures, isAutoIncrement, isAutoIncrement, isVolatile, returnFIDColumnsAsAttributes, setInfo, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UUIDFIDMapper

public UUIDFIDMapper(java.lang.String colName,
                     int type)
Method Detail

createID

public java.lang.String createID(java.sql.Connection conn,
                                 org.opengis.feature.simple.SimpleFeature feature,
                                 java.sql.Statement statement)
                          throws java.io.IOException
Description copied from interface: FIDMapper
Creates a new ID for a feature.
This is done either by querying the database (for auto-increment like types, for example sequences) or by inspecting the Feature (for example, for primary keys with business meaning that whose attributes are included in the Feature ones).

Parameters:
conn - - the database connection
feature - - the feature that needs the new FID
statement - - the statement used to insert the feature into the database
Throws:
java.io.IOException

getID

public java.lang.String getID(java.lang.Object[] attributes)
Description copied from interface: FIDMapper
Returns the FID given the values of the prymary key attributes

Parameters:
attributes - DOCUMENT ME!

getPKAttributes

public java.lang.Object[] getPKAttributes(java.lang.String FID)
                                   throws java.io.IOException
Description copied from interface: FIDMapper
Creates the value for the PK attributes given the feature. If the FID is null, will throw an IOException if not possible. If null is returned, no primary key value needs to be specified, which is what we want for auto-increment fields.

Parameters:
FID - The feature ID is going to be parsed
Throws:
java.io.IOException

isValid

public boolean isValid(java.lang.String fid)
Description copied from interface: FIDMapper
Provides a simple means of assessing if a feature id is structurally valid with respect to the fids this FIDMapper creates.

The primary purpose of this method is to help in filtering out fids from filters that are not appropriate for a given FeatureType but that may otherwise being treated as valid if they get down to the actual SQL query.

The validity check may be as strict or as loose as the concrete FIDMapper wishes, since there may be cases where whether a fid in a filter is valid or not is not that important, or where it may result in deleting a Feature that was not expected to be deleted.

An example of such a need for validation may be a feature id composed like <featureTypeName>.<number>, where the actual table PK is just the <number> part. If a request over the FeatureType "ft1" is made with a fid filter like ft2.1, this method can ensure the number 1 is not send out in the SQL query at all.

Parameters:
fid - a feature id to check for structural validity
Returns:
true if the structure fid indicates it is a valid feature id for the FeatureType this FIDMapper works for, false otherwise.


Copyright © 1996-2010 Geotools. All Rights Reserved.