| java.lang.Object org.geotools.data.jdbc.fidmapper.DefaultFIDMapperFactory
All known Subclasses: org.geotools.data.hsql.fidmapper.HsqlFIDMapperFactory, org.geotools.data.postgis.fidmapper.VersionedFIDMapperFactory, org.geotools.data.postgis.fidmapper.PostgisFIDMapperFactory, org.geotools.data.db2.DB2FIDMapperFactory,
DefaultFIDMapperFactory | public class DefaultFIDMapperFactory implements FIDMapperFactory(Code) | | Default FID mapper that works with default FID mappers.
May also be used a base class for more specific and feature rich factories
author: Andrea Aime |
Inner Class :protected class ColumnInfo implements Comparable | |
Constructor Summary | |
public | DefaultFIDMapperFactory() Constructs a DefaultFIDMapperFactory which will not return FID columns
as business attributes. | public | DefaultFIDMapperFactory(boolean returnFIDColumnsAsAttributes) Constructs a DefaultFIDMapperFactory with user specification of whether
to return FID columns as business attributes. |
Method Summary | |
protected FIDMapper | buildLastResortFidMapper(String schema, String tableName, Connection connection, ColumnInfo[] colInfos) Builds a FidMapper when every other tentative of building one fails.
This method is used as a last resort fall back, use it if you can
provide a FIDMapper that works on every kind of table, but it's usually
suboptimal. | protected FIDMapper | buildMultiColumnFIDMapper(String schema, String tableName, Connection connection, ColumnInfo[] colInfos) | protected FIDMapper | buildNoPKMapper(String schema, String tableName, Connection connection) | protected FIDMapper | buildSingleColumnFidMapper(String schema, String tableName, Connection connection, ColumnInfo ci) Builds a FID mapper based on a single column primary key. | protected List | getColumnInfoList(ColumnInfo[] colInfos) | public FIDMapper | getMapper(String catalog, String schema, String tableName, Connection connection) Gets the appropriate FIDMapper for the specified table. | public FIDMapper | getMapper(FeatureType featureType) | protected ColumnInfo[] | getPkColumnInfo(String catalog, String schema, String typeName, Connection conn) | protected boolean | isAutoIncrement(String catalog, String schema, String tableName, Connection conn, ResultSet tableInfo, String columnName, int dataType) Returns true if the specified column is auto-increment. | protected boolean | isIntegralType(int dataType) Returns true if the dataType for the column can serve as a primary key.
Note that this now returns true for a DECIMAL type, because oracle
Numbers are returned in jdbc as DECIMAL. | public boolean | isReturningTypedFIDMapper() Getter for the flog controll wether a "typed" fid mapper should be returned. | protected boolean | isTextType(int dataType) | public void | setReturningTypedFIDMapper(boolean returningTypedFIDMapper) Setter for the flag controlling wther a "typed" fid mapper is returned. |
LOGGER | final protected static Logger LOGGER(Code) | | The logger for the filter module.
|
returnFIDColumnsAsAttributes | protected boolean returnFIDColumnsAsAttributes(Code) | | Set if table FID columns are to be returned as business attributes.
|
returningTypedFIDMapper | protected boolean returningTypedFIDMapper(Code) | | |
DefaultFIDMapperFactory | public DefaultFIDMapperFactory()(Code) | | Constructs a DefaultFIDMapperFactory which will not return FID columns
as business attributes.
|
DefaultFIDMapperFactory | public DefaultFIDMapperFactory(boolean returnFIDColumnsAsAttributes)(Code) | | Constructs a DefaultFIDMapperFactory with user specification of whether
to return FID columns as business attributes.
Parameters: returnFIDColumnsAsAttributes - true if FID columns should bereturned as business attributes. |
buildLastResortFidMapper | protected FIDMapper buildLastResortFidMapper(String schema, String tableName, Connection connection, ColumnInfo[] colInfos)(Code) | | Builds a FidMapper when every other tentative of building one fails.
This method is used as a last resort fall back, use it if you can
provide a FIDMapper that works on every kind of table, but it's usually
suboptimal. The default behaviour is to return no FID mapper at all.
Parameters: schema - Parameters: tableName - Parameters: connection - Parameters: colInfos - |
buildMultiColumnFIDMapper | protected FIDMapper buildMultiColumnFIDMapper(String schema, String tableName, Connection connection, ColumnInfo[] colInfos)(Code) | | Builds a FID mapper for multi column public columns
Parameters: schema - Parameters: tableName - Parameters: connection - Parameters: colInfos - |
buildNoPKMapper | protected FIDMapper buildNoPKMapper(String schema, String tableName, Connection connection)(Code) | | DOCUMENT ME!
Parameters: schema - Parameters: tableName - Parameters: connection - |
buildSingleColumnFidMapper | protected FIDMapper buildSingleColumnFidMapper(String schema, String tableName, Connection connection, ColumnInfo ci)(Code) | | Builds a FID mapper based on a single column primary key. Default
version tries the auto-increment way, then a mapping on an
MaxIncFIDMapper type for numeric columns, and a plain
BasicFIDMapper of text based columns.
Parameters: schema - Parameters: tableName - Parameters: connection - an open database connection. Parameters: ci - the column information for the FID column. the appropriate FIDMapper. |
getColumnInfoList | protected List getColumnInfoList(ColumnInfo[] colInfos)(Code) | | Retuns a List of column infos, nice for logging the column infos
leveraging the complete toString() method provided by lists
Parameters: colInfos - |
getMapper | public FIDMapper getMapper(String catalog, String schema, String tableName, Connection connection) throws IOException(Code) | | Gets the appropriate FIDMapper for the specified table.
Parameters: catalog - Parameters: schema - Parameters: tableName - Parameters: connection - the active database connection to get table keyinformation the appropriate FIDMapper for the specified table. throws: IOException - if any error occurs. |
isAutoIncrement | protected boolean isAutoIncrement(String catalog, String schema, String tableName, Connection conn, ResultSet tableInfo, String columnName, int dataType) throws SQLException(Code) | | Returns true if the specified column is auto-increment. This method is
left protected so that specific datastore implementations can put their
own logic, should the default one be ineffective or have bad
performance. NOTE: the postgis subclass will call this with the
columnname and table name pre-double-quoted! Other DB may have to do
the same - please check your DB's documentation.
Parameters: catalog - Parameters: schema - Parameters: tableName - Parameters: conn - Parameters: tableInfo - Parameters: columnName - Parameters: dataType - throws: SQLException - |
isIntegralType | protected boolean isIntegralType(int dataType)(Code) | | Returns true if the dataType for the column can serve as a primary key.
Note that this now returns true for a DECIMAL type, because oracle
Numbers are returned in jdbc as DECIMAL. This may cause errors in very
rare cases somewhere down the line, but only if users do something
incredibly silly like defining a primary key with a double.
Parameters: dataType - DOCUMENT ME! DOCUMENT ME! |
isReturningTypedFIDMapper | public boolean isReturningTypedFIDMapper()(Code) | | Getter for the flog controll wether a "typed" fid mapper should be returned.
|
isTextType | protected boolean isTextType(int dataType)(Code) | | |
setReturningTypedFIDMapper | public void setReturningTypedFIDMapper(boolean returningTypedFIDMapper)(Code) | | Setter for the flag controlling wther a "typed" fid mapper is returned.
Parameters: returningTypedFIDMapper - |
|
|