Class ThreadedHsqlEpsgFactory
- All Implemented Interfaces:
- AuthorityFactory,- CRSAuthorityFactory,- CSAuthorityFactory,- DatumAuthorityFactory,- Factory,- CoordinateOperationAuthorityFactory,- BufferedFactory,- Factory,- OptionalFactory,- RegistrableFactory
Connection to the EPSG database in HSQL database engine format using JDBC. The EPSG database can be downloaded from
 http://www.epsg.org. The SQL scripts (modified for the HSQL syntax as explained here) are bundled into this plugin. The database version is given in the
 edition attribute of the
 authority. The HSQL database is read only.
 
Implementation note
The SQL scripts are executed the first time a connection is required. The database is then created as cached tables (HSQL.properties and HSQL.data files) in a temporary directory. Future connections to the EPSG
 database while reuse the cached tables, if available. Otherwise, the scripts will be executed again in order to
 recreate them.
 If the EPSG database should be created in a different directory (or already exists in that directory), it may be specified as a system property nammed "EPSG-HSQL.directory".
- Since:
- 2.4
- Author:
- Martin Desruisseaux, Didier Richard
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final StringThe database name.static final StringThe key for fetching the database directory from system properties.static final Loggerstatic final VersionCurrent version of EPSG-HSQL plugin.Fields inherited from class ThreadedEpsgFactorydatasource, DATASOURCE_NAME, dynamicDataSource, PRIORITYFields inherited from class AbstractFactoryhints, MAXIMUM_PRIORITY, MINIMUM_PRIORITY, NORMAL_PRIORITY, priority
- 
Constructor SummaryConstructorsConstructorDescriptionCreates a new instance of this factory.ThreadedHsqlEpsgFactory(Hints hints) Creates a new instance of this data source using the specified hints.
- 
Method SummaryModifier and TypeMethodDescriptionprotected AbstractAuthorityFactorycreateBackingStore(Hints hints) Returns the backing-store factory for HSQL syntax.protected DataSourceReturns a data source for the HSQL database.Methods inherited from class ThreadedEpsgFactorycanDisposeBackingStore, createBackingStore, dispose, disposeBackingStore, getAuthority, getDataSource, setDataSourceMethods inherited from class DeferredAuthorityFactoryexit, getBackingStore, isAvailable, isConnected, setTimeoutMethods inherited from class BufferedAuthorityFactorycreateCartesianCS, createCompoundCRS, createCoordinateOperation, createCoordinateReferenceSystem, createCoordinateSystem, createCoordinateSystemAxis, createCylindricalCS, createDatum, createDerivedCRS, createEllipsoid, createEllipsoidalCS, createEngineeringCRS, createEngineeringDatum, createExtent, createFromCoordinateReferenceSystemCodes, createGeocentricCRS, createGeodeticDatum, createGeographicCRS, createImageCRS, createImageDatum, createObject, createOperationMethod, createParameterDescriptor, createPolarCS, createPrimeMeridian, createProjectedCRS, createSphericalCS, createTemporalCRS, createTemporalDatum, createTimeCS, createUnit, createVerticalCRS, createVerticalCS, createVerticalDatum, getAuthorityCodes, getBackingStoreDescription, getDescriptionText, getIdentifiedObjectFinder, getVendorMethods inherited from class AbstractAuthorityFactorynoSuchAuthorityCode, trimAuthorityMethods inherited from class ReferencingFactoryensureNonNullMethods inherited from class AbstractFactoryaddImplementationHints, equals, getImplementationHints, getPriority, hashCode, onDeregistration, onRegistration, toStringMethods inherited from interface AuthorityFactorycreateObject, getAuthorityCodes, getDescriptionTextMethods inherited from interface CoordinateOperationAuthorityFactorycreateCoordinateOperation, createFromCoordinateReferenceSystemCodesMethods inherited from interface CRSAuthorityFactorycreateCompoundCRS, createCoordinateReferenceSystem, createDerivedCRS, createEngineeringCRS, createGeocentricCRS, createGeographicCRS, createImageCRS, createProjectedCRS, createTemporalCRS, createVerticalCRSMethods inherited from interface CSAuthorityFactorycreateCartesianCS, createCoordinateSystem, createCoordinateSystemAxis, createCylindricalCS, createEllipsoidalCS, createPolarCS, createSphericalCS, createTimeCS, createUnit, createVerticalCSMethods inherited from interface DatumAuthorityFactorycreateDatum, createEllipsoid, createEngineeringDatum, createGeodeticDatum, createImageDatum, createPrimeMeridian, createTemporalDatum, createVerticalDatumMethods inherited from interface FactorygetImplementationHints
- 
Field Details- 
LOGGER
- 
VERSIONCurrent version of EPSG-HSQL plugin. This is usually the same version number than the one in the EPSG database bundled in this plugin. However this field may contains additional minor version number if there is some changes related to the EPSG-HSQL plugin rather than the EPSG database itself (for example additional database index).
- 
DIRECTORY_KEYThe key for fetching the database directory from system properties.- See Also:
 
- 
DATABASE_NAMEThe database name.- See Also:
 
 
- 
- 
Constructor Details- 
ThreadedHsqlEpsgFactorypublic ThreadedHsqlEpsgFactory()Creates a new instance of this factory. If the "EPSG-HSQL.directory" system property is defined and contains the name of a directory with a valid parent, then the "EPSG" database will be saved in that directory. Otherwise, a temporary directory will be used.
- 
ThreadedHsqlEpsgFactoryCreates a new instance of this data source using the specified hints. The priority is set to a lower value than the FactoryOnAccess's one in order to give precedence to the Access-backed database, if presents. Priorities are set that way because:- The MS-Access format is the primary EPSG database format.
- If a user downloads the MS-Access database himself, he probably wants to use it.
 
 
- 
- 
Method Details- 
createDataSourceReturns a data source for the HSQL database.- Overrides:
- createDataSourcein class- ThreadedEpsgFactory
- Returns:
- The EPSG data source, or nullif none where found.
- Throws:
- SQLException- if an error occured while creating the data source.
 
- 
createBackingStoreReturns the backing-store factory for HSQL syntax. If the cached tables are not available, they will be created now from the SQL scripts bundled in this plugin.- Overrides:
- createBackingStorein class- ThreadedEpsgFactory
- Parameters:
- hints- A map of hints, including the low-level factories to use for CRS creation.
- Returns:
- The EPSG factory using HSQL syntax.
- Throws:
- SQLException- if connection to the database failed.
 
 
-