org.geotools.geometry.jts.spatialschema.geometry.aggregate
Class JTSAggregateFactory

java.lang.Object
  extended by org.geotools.geometry.jts.spatialschema.geometry.aggregate.JTSAggregateFactory
All Implemented Interfaces:
Factory, org.opengis.geometry.aggregate.AggregateFactory

public class JTSAggregateFactory
extends java.lang.Object
implements Factory, org.opengis.geometry.aggregate.AggregateFactory

Implementation of AggregateFactory able to make MultiPointImpl but little else.

Author:
Jody Garnett

Constructor Summary
JTSAggregateFactory()
          No argument constructor for FactorySPI
JTSAggregateFactory(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
          Direct constructor for test cases
JTSAggregateFactory(Hints hints)
          Hints constructor for FactoryRegistry
 
Method Summary
 org.opengis.geometry.aggregate.MultiCurve createMultiCurve(java.util.Set arg0)
           
 org.opengis.geometry.aggregate.MultiPoint createMultiPoint(java.util.Set arg0)
           
 org.opengis.geometry.aggregate.MultiPrimitive createMultiPrimitive(java.util.Set arg0)
           
 org.opengis.geometry.aggregate.MultiSurface createMultiSurface(java.util.Set arg0)
           
 java.util.Map getImplementationHints()
          Map of hints (maybe unmodifiable) used by this factory to customize its use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JTSAggregateFactory

public JTSAggregateFactory()
No argument constructor for FactorySPI


JTSAggregateFactory

public JTSAggregateFactory(Hints hints)
Hints constructor for FactoryRegistry


JTSAggregateFactory

public JTSAggregateFactory(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
Direct constructor for test cases

Method Detail

getImplementationHints

public java.util.Map getImplementationHints()
Description copied from interface: Factory
Map of hints (maybe unmodifiable) used by this factory to customize its use. This map is not guaranteed to contains all the hints supplied by the user; it may be only a subset. Consequently, hints provided here are usually not suitable for creating new factories, unless the implementation make some additional garantees (e.g. FactoryUsingVolatileDependencies).

The primary purpose of this method is to determine if an existing factory instance can be reused for a set of user-supplied hints. This method is invoked by FactoryRegistry in order to compare this factory's hints against user's hints. This is dependency introspection only; FactoryRegistry never invokes this method for creating new factories.

Keys are usually static constants from the Hints class, while values are instances of some key-dependent class. The key set must contains at least all hints impacting functionality. While the key set may contains all hints supplied by the user, it is recommended to limit the set to only the hints used by this particular factory instance. A minimal set will helps FactoryRegistry to compare only hints that matter and avoid the creation of unnecessary instances of this factory.

The hint values may be different than the one supplied by the user. If a user supplied a hint as a Class object, this method shall replace it by the actual instance used, if possible.

Implementations of this method are usually quite simple. For example if a datum authority factory uses an ordinary datum factory, its method could be implemented as below (note that we should not check if the datum factory is null, since key with null value is the expected behaviour in this case). Example:


 Map hints = new HashMap();
 hints.put(Hints.DATUM_FACTORY, datumFactory);
 return hints;
 

Specified by:
getImplementationHints in interface Factory
Returns:
The map of hints, or an empty map if none.

createMultiCurve

public org.opengis.geometry.aggregate.MultiCurve createMultiCurve(java.util.Set arg0)
Specified by:
createMultiCurve in interface org.opengis.geometry.aggregate.AggregateFactory

createMultiPoint

public org.opengis.geometry.aggregate.MultiPoint createMultiPoint(java.util.Set arg0)
Specified by:
createMultiPoint in interface org.opengis.geometry.aggregate.AggregateFactory

createMultiPrimitive

public org.opengis.geometry.aggregate.MultiPrimitive createMultiPrimitive(java.util.Set arg0)
Specified by:
createMultiPrimitive in interface org.opengis.geometry.aggregate.AggregateFactory

createMultiSurface

public org.opengis.geometry.aggregate.MultiSurface createMultiSurface(java.util.Set arg0)
Specified by:
createMultiSurface in interface org.opengis.geometry.aggregate.AggregateFactory


Copyright © 1996-2010 Geotools. All Rights Reserved.