|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.factory.AbstractFactory
org.geotools.referencing.factory.ReferencingFactory
org.geotools.referencing.factory.AbstractAuthorityFactory
org.geotools.referencing.factory.AbstractAuthorityMediator
public abstract class AbstractAuthorityMediator
An authority mediator that consults (a possibily shared) cache before delegating the generation of the content to a "worker" authority factory.
The behaviour of thecreateFoo(String)
methods first looks if a previously created object
exists for the given code. If such an object exists, it is returned directly. The testing of the
cache is synchronized and may block if the referencing object is under construction.
If the object is not yet created, the definition is delegated to the appropriate
createFoo
method of the factory, which will cache the result for next time.
This object is responsible for maintaining an {{ObjectCache}} of "workers" based on the following:
Nested Class Summary | |
---|---|
protected class |
AbstractAuthorityMediator.WorkerSafeRunnable
An interface describing a portion of work for which a worker is needed. |
Field Summary | |
---|---|
protected ReferencingFactoryContainer |
factories
A container of the "real factories" actually used to construct objects. |
Fields inherited from class org.geotools.referencing.factory.ReferencingFactory |
---|
LOGGER |
Fields inherited from class org.geotools.factory.AbstractFactory |
---|
hints, MAXIMUM_PRIORITY, MINIMUM_PRIORITY, NORMAL_PRIORITY, priority |
Constructor Summary | |
---|---|
protected |
AbstractAuthorityMediator()
Constructs an instance making use of the default cache and priority level. |
protected |
AbstractAuthorityMediator(Hints hints)
Constructs an instance based on the provided Hints |
protected |
AbstractAuthorityMediator(int priority)
Constructs an instance making use of the default cache. |
protected |
AbstractAuthorityMediator(int priority,
Hints hints)
Constructs an instance making use of the default cache. |
protected |
AbstractAuthorityMediator(int priority,
ObjectCache cache,
ReferencingFactoryContainer container)
Constructs an instance making use of the indicated cache. |
Method Summary | ||
---|---|---|
protected abstract void |
activateWorker(AbstractCachedAuthorityFactory worker)
Reinitialize an instance to be returned by the pool. |
|
protected void |
completeHints()
|
|
org.opengis.referencing.cs.CartesianCS |
createCartesianCS(java.lang.String code)
Creates a cartesian coordinate system from a code. |
|
org.opengis.referencing.crs.CompoundCRS |
createCompoundCRS(java.lang.String code)
Creates a 3D coordinate reference system from a code. |
|
org.opengis.referencing.operation.CoordinateOperation |
createCoordinateOperation(java.lang.String code)
Creates an operation from a single operation code. |
|
org.opengis.referencing.crs.CoordinateReferenceSystem |
createCoordinateReferenceSystem(java.lang.String code)
Returns an arbitrary coordinate reference system from a code. |
|
org.opengis.referencing.cs.CoordinateSystem |
createCoordinateSystem(java.lang.String code)
Returns an arbitrary coordinate system from a code. |
|
org.opengis.referencing.cs.CoordinateSystemAxis |
createCoordinateSystemAxis(java.lang.String code)
Returns a coordinate system axis from a code. |
|
org.opengis.referencing.cs.CylindricalCS |
createCylindricalCS(java.lang.String code)
Creates a cylindrical coordinate system from a code. |
|
org.opengis.referencing.datum.Datum |
createDatum(java.lang.String code)
Returns an arbitrary datum from a code. |
|
org.opengis.referencing.crs.DerivedCRS |
createDerivedCRS(java.lang.String code)
Creates a derived coordinate reference system from a code. |
|
org.opengis.referencing.datum.Ellipsoid |
createEllipsoid(java.lang.String code)
Returns an ellipsoid from a code. |
|
org.opengis.referencing.cs.EllipsoidalCS |
createEllipsoidalCS(java.lang.String code)
Creates an ellipsoidal coordinate system from a code. |
|
org.opengis.referencing.datum.EngineeringDatum |
createEngineeringDatum(java.lang.String code)
Creates a engineering datum from a code. |
|
java.util.Set |
createFromCoordinateReferenceSystemCodes(java.lang.String sourceCode,
java.lang.String targetCode)
Creates an operation from coordinate reference system codes. |
|
org.opengis.referencing.crs.GeocentricCRS |
createGeocentricCRS(java.lang.String code)
Returns a geocentric coordinate reference system from a code. |
|
org.opengis.referencing.datum.GeodeticDatum |
createGeodeticDatum(java.lang.String code)
Returns a geodetic datum from a code. |
|
org.opengis.referencing.crs.GeographicCRS |
createGeographicCRS(java.lang.String code)
Returns a geographic coordinate reference system from a code. |
|
org.opengis.referencing.crs.ImageCRS |
createImageCRS(java.lang.String code)
Creates a image coordinate reference system from a code. |
|
org.opengis.referencing.datum.ImageDatum |
createImageDatum(java.lang.String code)
Creates a image datum from a code. |
|
org.opengis.referencing.IdentifiedObject |
createObject(java.lang.String code)
Returns an arbitrary object from a code. |
|
org.opengis.referencing.cs.PolarCS |
createPolarCS(java.lang.String code)
Creates a polar coordinate system from a code. |
|
org.opengis.referencing.datum.PrimeMeridian |
createPrimeMeridian(java.lang.String code)
Returns a prime meridian from a code. |
|
org.opengis.referencing.crs.ProjectedCRS |
createProjectedCRS(java.lang.String code)
Returns a projected coordinate reference system from a code. |
|
org.opengis.referencing.cs.SphericalCS |
createSphericalCS(java.lang.String code)
Creates a spherical coordinate system from a code. |
|
org.opengis.referencing.crs.TemporalCRS |
createTemporalCRS(java.lang.String code)
Creates a temporal coordinate reference system from a code. |
|
org.opengis.referencing.datum.TemporalDatum |
createTemporalDatum(java.lang.String code)
Creates a temporal datum from a code. |
|
org.opengis.referencing.cs.TimeCS |
createTimeCS(java.lang.String code)
Creates a temporal coordinate system from a code. |
|
javax.measure.unit.Unit<?> |
createUnit(java.lang.String code)
Returns an unit from a code. |
|
org.opengis.referencing.crs.VerticalCRS |
createVerticalCRS(java.lang.String code)
Creates a vertical coordinate reference system from a code. |
|
org.opengis.referencing.cs.VerticalCS |
createVerticalCS(java.lang.String code)
Creates a vertical coordinate system from a code. |
|
org.opengis.referencing.datum.VerticalDatum |
createVerticalDatum(java.lang.String code)
Creates a vertical datum from a code. |
|
protected
|
createWith(java.lang.Object key,
AbstractAuthorityMediator.WorkerSafeRunnable runner)
This method is used to cut down the amount of try/catch/finally code needed when working with the cache and workers. |
|
protected abstract void |
destroyWorker(AbstractCachedAuthorityFactory worker)
Destroys an instance no longer needed by the pool. |
|
void |
dispose()
Clean up the object pool of workers (since we are shutting down). |
|
abstract org.opengis.metadata.citation.Citation |
getAuthority()
The authority body of the objects this factory provides. |
|
java.util.Set |
getAuthorityCodes(java.lang.Class type)
|
|
java.lang.String |
getBackingStoreDescription()
Returns a description of the underlying backing store, or null if unknown. |
|
abstract org.opengis.util.InternationalString |
getDescriptionText(java.lang.String code)
|
|
IdentifiedObjectFinder |
getIdentifiedObjectFinder(java.lang.Class type)
Returns a finder which can be used for looking up unidentified objects. |
|
boolean |
isConnected()
True if this mediator is currently connected to one or more workers. |
|
protected abstract AbstractCachedAuthorityFactory |
makeWorker()
Creates an instance that can be returned by the pool. |
|
protected abstract void |
passivateWorker(AbstractCachedAuthorityFactory worker)
Un-initialize an instance to be returned to the pool. |
|
protected java.lang.String |
toKey(java.lang.String code)
|
|
protected java.lang.String |
trimAuthority(java.lang.String code)
Trims the authority scope, if present. |
|
protected abstract boolean |
validateWorker(AbstractCachedAuthorityFactory worker)
Ensures that the instance is safe to be returned by the pool. |
Methods inherited from class org.geotools.referencing.factory.AbstractAuthorityFactory |
---|
createEngineeringCRS, createExtent, createOperationMethod, createParameterDescriptor, noSuchAuthorityCode |
Methods inherited from class org.geotools.referencing.factory.ReferencingFactory |
---|
ensureNonNull, getVendor |
Methods inherited from class org.geotools.factory.AbstractFactory |
---|
addImplementationHints, equals, getImplementationHints, getPriority, hashCode, onDeregistration, onRegistration, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.opengis.referencing.crs.CRSAuthorityFactory |
---|
createEngineeringCRS |
Methods inherited from interface org.opengis.referencing.Factory |
---|
getVendor |
Methods inherited from interface org.geotools.factory.Factory |
---|
getImplementationHints |
Field Detail |
---|
protected final ReferencingFactoryContainer factories
Constructor Detail |
---|
protected AbstractAuthorityMediator()
protected AbstractAuthorityMediator(Hints hints)
factory
- The factory to cache. Can not be null
.protected AbstractAuthorityMediator(int priority)
factory
- The factory to cache. Can not be null
.protected AbstractAuthorityMediator(int priority, Hints hints)
factory
- The factory to cache. Can not be null
.protected AbstractAuthorityMediator(int priority, ObjectCache cache, ReferencingFactoryContainer container)
This constructor is protected because subclasses must declare which of the
DatumAuthorityFactory
, CSAuthorityFactory
, CRSAuthorityFactory
and
CoordinateOperationAuthorityFactory
interfaces they choose to implement.
factory
- The factory to cache. Can not be null
.maxStrongReferences
- The maximum number of objects to keep by strong reference.Method Detail |
---|
protected void completeHints()
public boolean isConnected()
protected java.lang.String toKey(java.lang.String code)
protected java.lang.String trimAuthority(java.lang.String code)
trimAuthority
in class AbstractAuthorityFactory
code
- The code to trim.
public abstract org.opengis.metadata.citation.Citation getAuthority()
getAuthority
in interface org.opengis.referencing.AuthorityFactory
getAuthority
in class AbstractAuthorityFactory
public java.util.Set getAuthorityCodes(java.lang.Class type) throws org.opengis.referencing.FactoryException
getAuthorityCodes
in interface org.opengis.referencing.AuthorityFactory
org.opengis.referencing.FactoryException
public abstract org.opengis.util.InternationalString getDescriptionText(java.lang.String code) throws org.opengis.referencing.FactoryException
getDescriptionText
in interface org.opengis.referencing.AuthorityFactory
org.opengis.referencing.FactoryException
public org.opengis.referencing.IdentifiedObject createObject(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
Datum
, CoordinateSystem
, CoordinateReferenceSystem
or
CoordinateOperation
. The default implementation always throw an exception.
Subclasses should override this method if they are capable to automatically detect
the object type from its code.
createObject
in interface org.opengis.referencing.AuthorityFactory
createObject
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createCoordinateReferenceSystem(java.lang.String)
,
AbstractAuthorityFactory.createDatum(java.lang.String)
,
AbstractAuthorityFactory.createEllipsoid(java.lang.String)
,
AbstractAuthorityFactory.createUnit(java.lang.String)
public org.opengis.referencing.crs.CompoundCRS createCompoundCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCompoundCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createCompoundCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.crs.CoordinateReferenceSystem createCoordinateReferenceSystem(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createGeographicCRS(code)
instead of createCoordinateReferenceSystem(code)
if the caller
know he is asking for a geographic coordinate reference system).
createCoordinateReferenceSystem
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createCoordinateReferenceSystem
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createGeographicCRS(java.lang.String)
,
AbstractAuthorityFactory.createProjectedCRS(java.lang.String)
,
AbstractAuthorityFactory.createVerticalCRS(java.lang.String)
,
AbstractAuthorityFactory.createTemporalCRS(java.lang.String)
,
AbstractAuthorityFactory.createCompoundCRS(java.lang.String)
public org.opengis.referencing.crs.DerivedCRS createDerivedCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createDerivedCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createDerivedCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.crs.GeocentricCRS createGeocentricCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createGeocentricCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createGeocentricCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed.AbstractAuthorityFactory.createGeodeticDatum(java.lang.String)
public org.opengis.referencing.crs.GeographicCRS createGeographicCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createGeographicCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createGeographicCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createGeodeticDatum(java.lang.String)
public org.opengis.referencing.crs.ImageCRS createImageCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createImageCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createImageCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.crs.ProjectedCRS createProjectedCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createProjectedCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createProjectedCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createGeodeticDatum(java.lang.String)
public org.opengis.referencing.crs.TemporalCRS createTemporalCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createTemporalCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createTemporalCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createTemporalDatum(java.lang.String)
public org.opengis.referencing.crs.VerticalCRS createVerticalCRS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createVerticalCRS
in interface org.opengis.referencing.crs.CRSAuthorityFactory
createVerticalCRS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createVerticalDatum(java.lang.String)
public org.opengis.referencing.cs.CartesianCS createCartesianCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createCartesianCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createCartesianCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.CoordinateSystem createCoordinateSystem(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createObject(code)
.
createCoordinateSystem
in interface org.opengis.referencing.cs.CSAuthorityFactory
createCoordinateSystem
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.CoordinateSystemAxis createCoordinateSystemAxis(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createObject(code)
.
createCoordinateSystemAxis
in interface org.opengis.referencing.cs.CSAuthorityFactory
createCoordinateSystemAxis
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.CylindricalCS createCylindricalCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createCylindricalCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createCylindricalCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.EllipsoidalCS createEllipsoidalCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createEllipsoidalCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createEllipsoidalCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.PolarCS createPolarCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createPolarCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createPolarCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.SphericalCS createSphericalCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createSphericalCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createSphericalCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.TimeCS createTimeCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createTimeCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createTimeCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public javax.measure.unit.Unit<?> createUnit(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createObject(code)
.
createUnit
in interface org.opengis.referencing.cs.CSAuthorityFactory
createUnit
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.cs.VerticalCS createVerticalCS(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateSystem(code)
.
createVerticalCS
in interface org.opengis.referencing.cs.CSAuthorityFactory
createVerticalCS
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public org.opengis.referencing.datum.Datum createDatum(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createObject(code)
.
createDatum
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createDatum
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createGeodeticDatum(java.lang.String)
,
AbstractAuthorityFactory.createVerticalDatum(java.lang.String)
,
AbstractAuthorityFactory.createTemporalDatum(java.lang.String)
public org.opengis.referencing.datum.Ellipsoid createEllipsoid(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createObject(code)
.
createEllipsoid
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createEllipsoid
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createGeodeticDatum(java.lang.String)
public org.opengis.referencing.datum.EngineeringDatum createEngineeringDatum(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createDatum(code)
.
createEngineeringDatum
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createEngineeringDatum
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createEngineeringCRS(java.lang.String)
public org.opengis.referencing.datum.GeodeticDatum createGeodeticDatum(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createDatum(code)
.
createGeodeticDatum
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createGeodeticDatum
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createEllipsoid(java.lang.String)
,
AbstractAuthorityFactory.createPrimeMeridian(java.lang.String)
,
AbstractAuthorityFactory.createGeographicCRS(java.lang.String)
,
AbstractAuthorityFactory.createProjectedCRS(java.lang.String)
public org.opengis.referencing.datum.ImageDatum createImageDatum(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createDatum(code)
.
createImageDatum
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createImageDatum
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createImageCRS(java.lang.String)
public org.opengis.referencing.datum.PrimeMeridian createPrimeMeridian(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createObject(code)
.
createPrimeMeridian
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createPrimeMeridian
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createGeodeticDatum(java.lang.String)
public org.opengis.referencing.datum.TemporalDatum createTemporalDatum(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createDatum(code)
.
createTemporalDatum
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createTemporalDatum
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createTemporalCRS(java.lang.String)
public org.opengis.referencing.datum.VerticalDatum createVerticalDatum(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createDatum(code)
.
createVerticalDatum
in interface org.opengis.referencing.datum.DatumAuthorityFactory
createVerticalDatum
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.AbstractAuthorityFactory.createVerticalCRS(java.lang.String)
public org.opengis.referencing.operation.CoordinateOperation createCoordinateOperation(java.lang.String code) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
createCoordinateOperation
in interface org.opengis.referencing.operation.CoordinateOperationAuthorityFactory
createCoordinateOperation
in class AbstractAuthorityFactory
code
- Value allocated by authority.
org.opengis.referencing.NoSuchAuthorityCodeException
- if the specified code
was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.public java.util.Set createFromCoordinateReferenceSystemCodes(java.lang.String sourceCode, java.lang.String targetCode) throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
Rational: Coordinate operation factory backed by an authority will invoke this method. If this method invoked the coordinate operation factory in turn, the application could be trapped in infinite recursive calls.
createFromCoordinateReferenceSystemCodes
in interface org.opengis.referencing.operation.CoordinateOperationAuthorityFactory
createFromCoordinateReferenceSystemCodes
in class AbstractAuthorityFactory
sourceCode
- Coded value of source coordinate reference system.targetCode
- Coded value of target coordinate reference system.
sourceCRS
to targetCRS
.
org.opengis.referencing.NoSuchAuthorityCodeException
- if a specified code was not found.
org.opengis.referencing.FactoryException
- if the object creation failed for some other reason.protected <T> T createWith(java.lang.Object key, AbstractAuthorityMediator.WorkerSafeRunnable runner) throws org.opengis.referencing.FactoryException
This code brings together two try/catch/finally blocks. For cache management:
T value = (T) cache.get(key);
if (value == null) {
try {
cache.writeLock(key);
value = (T) cache.peek(key);
if (value == null) {
....generate value....
cache.put( key, value );
}
} finally {
cache.writeUnLock(key);
}
}
And worker management when generating values:
AbstractCachedAuthorityFactory worker = null;
try {
worker = (AbstractCachedAuthorityFactory) getPool().borrowObject();
value = (T) runner.run( worker );
} catch (FactoryException e) {
throw e;
} catch (Exception e) {
throw new FactoryException(e);
} finally {
try {
getPool().returnObject(worker);
} catch (Exception e) {
LOGGER.log(Level.WARNING, "Unable to return worker " + e, e);
}
}
key
- Used to look in the cacherunner
- Used to generate a value in the case of a cache miss
org.opengis.referencing.FactoryException
public java.lang.String getBackingStoreDescription() throws org.opengis.referencing.FactoryException
AbstractAuthorityFactory
null
if unknown.
This is for example the database software used for storing the data.
The default implementation returns always null
.
getBackingStoreDescription
in class AbstractAuthorityFactory
null
.
org.opengis.referencing.FactoryException
- if a failure occurs while fetching the engine description.public void dispose() throws org.opengis.referencing.FactoryException
Subclasses may wish to override this method if they have their own resources to clean up (like a database connection). If you do this please remember to call super.dispose().
dispose
in class AbstractAuthorityFactory
org.opengis.referencing.FactoryException
- if an error occured while disposing the factory.protected abstract void activateWorker(AbstractCachedAuthorityFactory worker) throws java.lang.Exception
Please note that BEFORE this method has been called AbstractAuthorityMediator has already:
cache
findCache
java.lang.Exception
protected abstract void destroyWorker(AbstractCachedAuthorityFactory worker) throws java.lang.Exception
java.lang.Exception
protected abstract AbstractCachedAuthorityFactory makeWorker() throws java.lang.Exception
java.lang.Exception
protected abstract void passivateWorker(AbstractCachedAuthorityFactory worker) throws java.lang.Exception
java.lang.Exception
protected abstract boolean validateWorker(AbstractCachedAuthorityFactory worker)
public IdentifiedObjectFinder getIdentifiedObjectFinder(java.lang.Class type) throws org.opengis.referencing.FactoryException
The returned implementation will make use of workers as needed.
getIdentifiedObjectFinder
in class AbstractAuthorityFactory
type
- The type of objects to look for.
org.opengis.referencing.FactoryException
- if the finder can not be created.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |