deegree 2.5 (2011/06/29 09:44 build-8-official)

org.deegree.crs.configuration
Class AbstractCRSProvider<T>

java.lang.Object
  extended by org.deegree.crs.configuration.AbstractCRSProvider<T>
Type Parameters:
T - the type of object the parse method awaits.
All Implemented Interfaces:
CRSProvider
Direct Known Subclasses:
DeegreeCRSProvider, GMLCRSProvider, PROJ4CRSProvider

public abstract class AbstractCRSProvider<T>
extends java.lang.Object
implements CRSProvider

add class documentation here.

Version:
$Revision: 23328 $, $Date: 2010-03-30 17:40:30 +0200 (Di, 30 Mär 2010) $
Author:
Rutger Bezema, last edited by: $Author: rbezema $

Nested Class Summary
static class AbstractCRSProvider.SupportedProjectionParameters
          The SupportedProjectionParameters enumeration defines currently supported projection parameters
static class AbstractCRSProvider.SupportedProjections
          The SupportedProjections enumeration defines currently supported projections
static class AbstractCRSProvider.SupportedTransformationParameters
          The SupportedTransformationParameters enumeration defines currently supported transformation parameters
static class AbstractCRSProvider.SupportedTransformations
          The SupportedTransformations enumeration defines currently supported transformations
 
Constructor Summary
AbstractCRSProvider(java.util.Properties properties, java.lang.Class<K> subType, CRSResource<T> defaultResolver)
           
 
Method Summary
<V extends Identifiable>
V
addIdToCache(V identifiable, boolean update)
          Add the id to the cache, by mapping it to all its identifiers.
 void clearCache()
          Clears the cache.
<V extends Identifiable>
V
getCachedIdentifiable(java.lang.Class<V> expectedType, Identifiable ids)
          The id are what they are, not trimming 'upcasing' or other modifications will be done in this method.
<V extends Identifiable>
V
getCachedIdentifiable(java.lang.Class<V> expectedType, java.lang.String id)
          The id is as it is, not trimming 'upcasing' or other modifications will be done in this method.
<V extends Identifiable>
V
getCachedIdentifiable(java.lang.Class<V> expectedType, java.lang.String[] ids)
          The id are what they are, not trimming 'upcasing' or other modifications will be done in this method.
<V extends Identifiable>
V
getCachedIdentifiable(java.lang.String id)
          The id is as it is, not trimming 'upcasing' or other modifications will be done in this method.
 CoordinateSystem getCRSByID(java.lang.String id)
           
protected  CRSResource<T> getResolver()
           
protected  AbstractCRSProvider.SupportedProjectionParameters mapProjectionParameters(java.lang.String[] identifiers)
           
protected  AbstractCRSProvider.SupportedProjections mapProjections(java.lang.String[] identifiers)
           
protected  AbstractCRSProvider.SupportedTransformations mapTransformation(java.lang.String[] identifiers)
           
protected  AbstractCRSProvider.SupportedTransformationParameters mapTransformationParameters(java.lang.String[] identifiers)
           
protected abstract  CoordinateSystem parseCoordinateSystem(T crsDefinition)
           
abstract  Transformation parseTransformation(T transformationDefinition)
           
 void setResolver(CRSResource<T> newResolver)
          Set the resolver to the given resolver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.deegree.crs.configuration.CRSProvider
canExport, export, getAvailableCRSIds, getAvailableCRSs, getIdentifiable, getSortedAvailableCRSIds, getTransformation, getTransformations
 

Constructor Detail

AbstractCRSProvider

public AbstractCRSProvider(java.util.Properties properties,
                           java.lang.Class<K> subType,
                           CRSResource<T> defaultResolver)
Type Parameters:
K -
Parameters:
properties -
subType -
defaultResolver -
Method Detail

getCRSByID

public CoordinateSystem getCRSByID(java.lang.String id)
                            throws CRSConfigurationException
Specified by:
getCRSByID in interface CRSProvider
Parameters:
id - string representation of the CoordinateSystem
Returns:
the identified CRS or null if no such CRS was found.
Throws:
CRSConfigurationException - if the implementation was confronted by an exception and could not deliver the requested crs. This exception should not be thrown if the given id wasn't found, in this case null should be returned.

setResolver

public void setResolver(CRSResource<T> newResolver)
Set the resolver to the given resolver.

Parameters:
newResolver -

getResolver

protected CRSResource<T> getResolver()
Returns:
the resolver for a type.

parseCoordinateSystem

protected abstract CoordinateSystem parseCoordinateSystem(T crsDefinition)
                                                   throws CRSConfigurationException
Parameters:
crsDefinition - containing the definition of a crs in the understood type.
Returns:
a CoordinateSystem instance initialized with values from the given type definition fragment or null if the given crsDefinition is null or not known.
Throws:
CRSConfigurationException - if an error was found in the given crsDefintion

parseTransformation

public abstract Transformation parseTransformation(T transformationDefinition)
                                            throws CRSConfigurationException
Parameters:
transformationDefinition - containing the parameters needed to build a Transformation.
Returns:
a Transformation instance initialized with values from the given definition or null if the given transformationDefintion is null. If the parsed transformation is not supported or a NotSupportedTransformation will be returned.
Throws:
CRSConfigurationException - if an error was found in the given crsDefintion

clearCache

public void clearCache()
Clears the cache.

Specified by:
clearCache in interface CRSProvider

getCachedIdentifiable

public <V extends Identifiable> V getCachedIdentifiable(java.lang.Class<V> expectedType,
                                                        Identifiable ids)
The id are what they are, not trimming 'upcasing' or other modifications will be done in this method.

Type Parameters:
V - the type to cast to if the casting fails, null will be returned.
Parameters:
expectedType - The class of type T which is expected.
ids - to search the cache for
Returns:
the Identifiable of the first matching id or null if it was not found.

getCachedIdentifiable

public <V extends Identifiable> V getCachedIdentifiable(java.lang.Class<V> expectedType,
                                                        java.lang.String[] ids)
The id are what they are, not trimming 'upcasing' or other modifications will be done in this method.

Type Parameters:
V - the type to cast to if the casting fails, null will be returned.
Parameters:
expectedType - The class of type T which is expected.
ids - to search the cache for
Returns:
the Identifiable of the first matching id or null if it was not found.

getCachedIdentifiable

public <V extends Identifiable> V getCachedIdentifiable(java.lang.Class<V> expectedType,
                                                        java.lang.String id)
The id is as it is, not trimming 'upcasing' or other modifications will be done in this method.

Type Parameters:
V - the type to cast to if the casting fails, null will be returned.
Parameters:
expectedType - The class of type T which is expected.
id - to search the cache for
Returns:
the Identifiable or null if it was not found or the wrong type was found.

getCachedIdentifiable

public <V extends Identifiable> V getCachedIdentifiable(java.lang.String id)
The id is as it is, not trimming 'upcasing' or other modifications will be done in this method.

Type Parameters:
V - the type to cast to if the casting fails, null will be returned.
Parameters:
id - to search the cache for
Returns:
the Identifiable or null if it was not found or the wrong type was found.

addIdToCache

public <V extends Identifiable> V addIdToCache(V identifiable,
                                               boolean update)
Add the id to the cache, by mapping it to all its identifiers.

Type Parameters:
V - type of Identifiable
Parameters:
identifiable - to insert into cache
update - if true an existing identifiable in the cache will be overwritten.
Returns:
the identifiable

mapProjections

protected AbstractCRSProvider.SupportedProjections mapProjections(java.lang.String[] identifiers)
Parameters:
identifiers - to check for.
Returns:
a mapped projection or AbstractCRSProvider.SupportedProjections.NOT_SUPPORTED, never null

mapProjectionParameters

protected AbstractCRSProvider.SupportedProjectionParameters mapProjectionParameters(java.lang.String[] identifiers)
Parameters:
identifiers - to check for.
Returns:
a mapped projections parameters or AbstractCRSProvider.SupportedProjectionParameters.NOT_SUPPORTED, never null

mapTransformation

protected AbstractCRSProvider.SupportedTransformations mapTransformation(java.lang.String[] identifiers)
Parameters:
identifiers - to check for.
Returns:
a mapped transformation or AbstractCRSProvider.SupportedTransformations.NOT_SUPPORTED, never null

mapTransformationParameters

protected AbstractCRSProvider.SupportedTransformationParameters mapTransformationParameters(java.lang.String[] identifiers)
Parameters:
identifiers - to check for.
Returns:
a mapped transformation or AbstractCRSProvider.SupportedTransformations.NOT_SUPPORTED, never null

deegree 2.5 (2011/06/29 09:44 build-8-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org