Class JTSFactoryFinder

Object
FactoryFinder
JTSFactoryFinder

public class JTSFactoryFinder extends FactoryFinder
Defines static methods used to access geometry, coordinate sequence or precision model factories.
Author:
Martin Desruisseaux
  • Method Details

    • getGeometryFactory

      public static GeometryFactory getGeometryFactory(Hints hints) throws FactoryRegistryException
      Returns the first implementation of GeometryFactory matching the specified hints. If no implementation matches, a new one is created if possible or an exception is thrown otherwise.

      Hints that may be understood includes JTS_COORDINATE_SEQUENCE_FACTORY, JTS_PRECISION_MODEL and JTS_SRID.

      Parameters:
      hints - An optional map of hints, or null if none.
      Returns:
      The first geometry factory that matches the supplied hints.
      Throws:
      FactoryRegistryException - if no implementation was found or can be created for the GeometryFactory category and the given hints.
    • getGeometryFactory

      public static GeometryFactory getGeometryFactory() throws FactoryRegistryException
      Returns the first implementation of GeometryFactory, a new one is created if possible or an exception is thrown otherwise.
      Returns:
      The first geometry factory available on the classpath
      Throws:
      FactoryRegistryException - if no implementation was found or can be created for the GeometryFactory category.
    • getGeometryFactories

      public static Set<GeometryFactory> getGeometryFactories()
      Returns a set of all available implementations for the GeometryFactory category.
      Returns:
      Set of available geometry factory implementations.
    • getPrecisionModel

      public static PrecisionModel getPrecisionModel(Hints hints) throws FactoryRegistryException
      Returns the first implementation of PrecisionModel matching the specified hints. If no implementation matches, a new one is created if possible or an exception is thrown otherwise.
      Parameters:
      hints - An optional map of hints, or null if none.
      Returns:
      The first precision model that matches the supplied hints.
      Throws:
      FactoryRegistryException - if no implementation was found or can be created for the PrecisionModel category and the given hints.
    • getPrecisionModels

      public static Set<PrecisionModel> getPrecisionModels()
      Returns a set of all available implementations for the PrecisionModel category.
      Returns:
      Set of available precision model implementations.
    • getCoordinateSequenceFactory

      public static CoordinateSequenceFactory getCoordinateSequenceFactory(Hints hints) throws FactoryRegistryException
      Returns the first implementation of CoordinateSequenceFactory matching the specified hints. If no implementation matches, a new one is created if possible or an exception is thrown otherwise.
      Parameters:
      hints - An optional map of hints, or null if none.
      Returns:
      The first coordinate sequence factory that matches the supplied hints.
      Throws:
      FactoryRegistryException - if no implementation was found or can be created for the CoordinateSequenceFactory interface and the given hints.
    • getCoordinateSequenceFactories

      public static Set<CoordinateSequenceFactory> getCoordinateSequenceFactories()
      Returns a set of all available implementations for the CoordinateSequenceFactory interface.
      Returns:
      Set of available coordinate sequence factory implementations.
    • scanForPlugins

      public static void scanForPlugins()
      Scans for factory plug-ins on the application class path. This method is needed because the application class path can theoretically change, or additional plug-ins may become available. Rather than re-scanning the classpath on every invocation of the API, the class path is scanned automatically only on the first invocation. Clients can call this method to prompt a re-scan. Thus this method need only be invoked by sophisticated applications which dynamically make new plug-ins available at runtime.