Class AllAuthoritiesFactory

All Implemented Interfaces:
AuthorityFactory, CRSAuthorityFactory, CSAuthorityFactory, DatumAuthorityFactory, Factory, CoordinateOperationAuthorityFactory, Factory, OptionalFactory, RegistrableFactory

public class AllAuthoritiesFactory extends ManyAuthoritiesFactory
An authority factory that delegates the object creation to an other factory determined from the authority name in the code. This is similar to ManyAuthoritiesFactory except that the set of factories is determined by calls to ReferencingFactoryFinder.getFooAuthorityFactory(authority, hints).

This class is not registered in ReferencingFactoryFinder. If this "authority" factory is wanted, then users need to refer explicitly to the DEFAULT constant or to create their own instance.

Since:
2.2
Author:
Martin Desruisseaux (IRD)
  • Field Details

    • DEFAULT

      public static AllAuthoritiesFactory DEFAULT
      An instance of AllAuthoritiesFactory with the default name separator and no hints.
  • Constructor Details

    • AllAuthoritiesFactory

      public AllAuthoritiesFactory(Hints hints)
      Creates a new factory using the specified hints.
      Parameters:
      hints - An optional set of hints, or null if none.
  • Method Details

    • getAuthorityNames

      public Set<String> getAuthorityNames()
      Returns the set of authority names.
      Overrides:
      getAuthorityNames in class ManyAuthoritiesFactory
      Since:
      2.4
    • getIdentifiedObjectFinder

      public IdentifiedObjectFinder getIdentifiedObjectFinder(Class<? extends IdentifiedObject> type) throws FactoryException
      Returns a finder which can be used for looking up unidentified objects. The default implementation delegates the lookups to the underlying factories.
      Overrides:
      getIdentifiedObjectFinder in class ManyAuthoritiesFactory
      Parameters:
      type - The type of objects to look for. Should be a GeoAPI interface like GeographicCRS.class, but this method accepts also implementation class. If the type is unknown, use IdentifiedObject.class. A more accurate type may help to speed up the search, since it reduces the amount of tables to scan in some implementations like the factories backed by EPSG database.
      Returns:
      A finder to use for looking up unidentified objects.
      Throws:
      FactoryException - if the object creation failed.
      Since:
      2.4