## org.opengis.referencing
Interface AuthorityFactory

All Superinterfaces:
  Factory

All Known Subinterfaces:
  CoordinateOperationAuthorityFactory, CRSAuthorityFactory, CSAuthorityFactory, DatumAuthorityFactory

    @UML(identifier="CS_CoordinateSystemAuthorityFactory",
         specification=OGC_01009)
    public interface AuthorityFactory

extends Factory

Base interface for all authority factories. An authority is an organization that maintains definitions of authority codes. An authority code is a compact string defined by an authority to reference a particular spatial reference object. For example the European Petroleum Survey Group (EPSG) maintains a database of coordinate systems, and other spatial referencing objects, where each object has a code number ID. For example, the EPSG code for a WGS84 Lat/Lon coordinate system is '4326'.

Since:
  GeoAPI 1.0
Version:
  Implementation specification 1.0

Method Summary
`IdentifiedObject` `createObject(String code)` Returns an arbitrary object from a code.
`Citation` `getAuthority()` Returns the organization or party responsible for definition and maintenance of the database.
`Set<String>` `getAuthorityCodes(Class type)` Returns the set of authority codes of the given type.
`InternationalString` `getDescriptionText(String code)` Gets a description of the object corresponding to a code.

Methods inherited from interface Factory
`getVendor`

Method Detail

### getAuthority

    @UML(identifier="getAuthority",
         specification=OGC_01009)
    Citation getAuthority()

  Returns the organization or party responsible for definition and maintenance of the database.

### getAuthorityCodes

    @Extension
    Set<String> getAuthorityCodes(Class type)
                                  throws FactoryException

  Returns the set of authority codes of the given type. The `type` argument specify the base class. For example if this factory is an instance of `CRSAuthorityFactory`, then:
  - `CoordinateReferenceSystem.class` asks for all authority codes accepted by one of `createGeographicCRS`, `createProjectedCRS`, `createVerticalCRS`, `createTemporalCRS` and their friends.
  - `ProjectedCRS.class` asks only for authority codes accepted by `createProjectedCRS`.

  Parameters:
    `type` - The spatial reference objects type (may be `Object.class`).
  Returns:
    The set of authority codes for spatial reference objects of the given type. If this factory doesn't contains any object of the given type, then this method returns an empty set.
  Throws:
    `FactoryException` - if access to the underlying database failed.

### getDescriptionText

    @UML(identifier="descriptionText",
         specification=OGC_01009)
    InternationalString getDescriptionText(String code)
                                           throws FactoryException

  Gets a description of the object corresponding to a code.

  Parameters:
    `code` - Value allocated by authority.
  Returns:
    A description of the object, or `null` if the object corresponding to the specified `code` has no description.
  Throws:
    `NoSuchAuthorityCodeException` - if the specified `code` was not found.
    `FactoryException` - if the query failed for some other reason.

### createObject

    @Extension
    IdentifiedObject createObject(String code)
                                  throws FactoryException

  Returns an arbitrary object from a code. The returned object will typically be an instance of `Datum`, `CoordinateSystem`, `ReferenceSystem` or `CoordinateOperation`. If the type of the object is know at compile time, it is recommended to invoke the most precise method instead of this one (for example `createCoordinateReferenceSystem(code)` instead of `createObject(code)` if the caller know he is asking for a coordinate reference system).

  Parameters:
    `code` - Value allocated by authority.
  Throws:
    `NoSuchAuthorityCodeException` - if the specified `code` was not found.
    `FactoryException` - if the object creation failed for some other reason.
  See Also:
    `DatumAuthorityFactory.createDatum(java.lang.String)`, `CRSAuthorityFactory.createCoordinateReferenceSystem(java.lang.String)`

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.