org.geotools.data.jdbc.fidmapper
Class MultiColumnFIDMapper

Object
  extended by AbstractFIDMapper
      extended by MultiColumnFIDMapper
All Implemented Interfaces:
Serializable, FIDMapper

Deprecated. scheduled for removal in 2.7, use classes in org.geotools.jdbc

public class MultiColumnFIDMapper
extends AbstractFIDMapper

A simple implementation of FIDMapper for multi column primary keys

Author:
wolf
See Also:
Serialized Form
Module:
modules/library/jdbc (gt-jdbc.jar)

Field Summary
 
Fields inherited from class AbstractFIDMapper
autoIncrement, colDecimalDigits, colNames, colSizes, colTypes, returnFIDColumnsAsAttributes, tableName, tableSchemaName
 
Constructor Summary
MultiColumnFIDMapper(String[] colNames, int[] colTypes, int[] colSizes, int[] colDecimalDigits, boolean[] autoIncrement)
          Deprecated. Builds a new instance of the MultiColumnFIDMapper
MultiColumnFIDMapper(String tableSchemaName, String tableName, String[] colNames, int[] colTypes, int[] colSizes, int[] colDecimalDigits, boolean[] autoIncrement)
          Deprecated. Builds a new instance of the MultiColumnFIDMapper
 
Method Summary
 String createID(Connection conn, SimpleFeature feature, Statement statement)
          Deprecated. Creates a new ID for a feature.
 String getID(Object[] attributes)
          Deprecated. Returns the FID given the values of the prymary key attributes
 Object[] getPKAttributes(String FID)
          Deprecated. Creates the value for the PK attributes given the feature.
 boolean isValid(String fid)
          Deprecated. 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 AbstractFIDMapper
getColumnCount, getColumnDecimalDigits, getColumnDecimalDigits, getColumnName, getColumnName, getColumnSize, getColumnSize, getColumnType, getColumnType, getTableName, getTableSchemaName, hasAutoIncrementColumns, initSupportStructures, isAutoIncrement, isAutoIncrement, isVolatile, returnFIDColumnsAsAttributes, setInfo, toString
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MultiColumnFIDMapper

public MultiColumnFIDMapper(String tableSchemaName,
                            String tableName,
                            String[] colNames,
                            int[] colTypes,
                            int[] colSizes,
                            int[] colDecimalDigits,
                            boolean[] autoIncrement)
Deprecated. 
Builds a new instance of the MultiColumnFIDMapper

Parameters:
tableSchemaName -
tableName -
colNames - - column names
colTypes - - column types, see Types
colSizes - - column sizes
colDecimalDigits - - column decimals
autoIncrement - - flags for auto-increment tests
Throws:
IllegalArgumentException

MultiColumnFIDMapper

public MultiColumnFIDMapper(String[] colNames,
                            int[] colTypes,
                            int[] colSizes,
                            int[] colDecimalDigits,
                            boolean[] autoIncrement)
Deprecated. 
Builds a new instance of the MultiColumnFIDMapper

Parameters:
colNames - - column names
colTypes - - column types, see Types
colSizes - - column sizes
colDecimalDigits - - column decimals
autoIncrement - - flags for auto-increment tests
Throws:
IllegalArgumentException
Method Detail

getID

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

Parameters:
attributes - DOCUMENT ME!
See Also:
FIDMapper.getID(java.lang.Object[])

getPKAttributes

public Object[] getPKAttributes(String FID)
                         throws IOException
Deprecated. 
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:
IOException
See Also:
FIDMapper.getPKAttributes(java.lang.String)

createID

public String createID(Connection conn,
                       SimpleFeature feature,
                       Statement statement)
                throws IOException
Deprecated. 
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:
IOException
See Also:
org.geotools.data.jdbc.fidmapper.FIDMapper#createID(java.sql.Connection, org.geotools.feature.Feature, Statement)

isValid

public boolean isValid(String fid)
Deprecated. 
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 splitting fid by the same separator than getPKAttributes(String) results in the same number of strings than the number of columns this FIDMapper uses to compose a fid
See Also:
FIDMapper.isValid(String)


Copyright © 1996-2010 Geotools. All Rights Reserved.