## org.opengis.layer.source
Interface LayerSourceFactory

    public interface LayerSourceFactory

A factory for `LayerSource` objects.

Since:
  GeoAPI 2.0

Method Summary
`boolean` `canProcess(URI provider)` Indicates this `FeatureStoreFactory` communicate with the indicated provider or service.
`boolean` `canProcess(URI provider, Map<String,Object> params)` Indicates this `FeatureStoreFactory` communicate with the indicated provider or service.
`LayerSource` `createLayerSource(URI provider, Map<String,Object> params)` Ask for a `LayerSource` connecting to the indicated provider or service.
`LayerSource` `createNewLayerSource(URI provider, Map<String,Object> params)` Ask for a new `LayerSource` connecting to the indicated provider or service.
`InternationalString` `getDescription()` Description of this type of FeatureStore.
`InternationalString` `getDisplayName()` Display name used to communicate this type of FeatureStore to end users.
`URI` `getIcon()` Icon representing this category of layer source.
`Map<String,Class>` `getParametersInfo()` Gets an `Object` array relating to the parameters needed (beyond the URI) to instantiate a `FeatureStore`.
`boolean` `isAvailable()` Allows a `FeatureStoreFactory` to ensure all its preconditions are met, such as the presense of required libraries.

Method Detail

### createLayerSource

    LayerSource createLayerSource(URI provider,
                                  Map<String,Object> params)
                                  throws IOException,
                                         LayerSourceException

  Ask for a `LayerSource` connecting to the indicated provider or service. The returned `LayerSource` may have been previously cached.

  Additional hints or configuration information may be provided according to the metadata indicated by `getParametersInfo()`. This information often includes security information such as username and password.

  Parameters:
    `provider` - Often a URI or JDBC URI locating the service to connect to.
    `params` - Map of hints or configuration information.
  Returns:
    `GraphicStore` connected to the indicated provider or service.
  Throws:
    `IOException` - if the `LayerSource` cannot connect to its source.
    `LayerException` - if the `LayerSource` cannot be created for some other reason.
    `LayerSourceException`

### createNewLayerSource

    LayerSource createNewLayerSource(URI provider,
                                     Map<String,Object> params)
                                     throws IOException,
                                            LayerSourceException

  Ask for a new `LayerSource` connecting to the indicated provider or service.

  Additional hints or configuration information may be provided according to the metadata indicated by `getParametersInfo()`. This information often includes security information such as username and password.

  Parameters:
    `provider` - Often a URI or JDBC URI locating the service to connect to.
    `params` - Map of hints or configuration information.
  Returns:
    `LayerSource` connected to the newly created provider or service.
  Throws:
    `IOException` - if the `LayerSource` cannot connect to its source.
    `LayerException` - if the `LayerSource` cannot be created for some other reason.
    `LayerSourceException`

### getIcon

    URI getIcon()

  Icon representing this category of layer source.

  Returns:
    URI to a icon (GIF or PNG) representing this factory.

### getDisplayName

    InternationalString getDisplayName()

  Display name used to communicate this type of FeatureStore to end users.

### getDescription

    InternationalString getDescription()

  Description of this type of FeatureStore.

### getParametersInfo

    Map<String,Class> getParametersInfo()

  Gets an `Object` array relating to the parameters needed (beyond the URI) to instantiate a `FeatureStore`.

  TODO:
    Should be replaced with a `Param`[] based on ISO standards (ISO 19119?).

### canProcess

    boolean canProcess(URI provider)

  Indicates this `FeatureStoreFactory` communicate with the indicated provider or service.

  This method should not fail, if a connection needs to be made to parse a `GetCapabilities` file or negotiate WMS versions any IO problems simply indicate the inabiity to process.

  This method may be considered the same as: `canProcess(provider, hints)` where hints was generated by using all the default values specified by the `getParametersInfo()` method.

  Parameters:
    `provider` - Provider or Server of spatial information.
  Returns:
    `true` if this factory can communicate with the provider.

### canProcess

    boolean canProcess(URI provider,
                       Map<String,Object> params)

  Indicates this `FeatureStoreFactory` communicate with the indicated provider or service.

  This method differs from `canProcess(URI)` in that additional configuration information may be supplied.

  Parameters:
    `provider` - Provider or Server of spatial information.
    `params` - additional configuration information.
  Returns:
    `true` if this factory can communicate with the provider.

### isAvailable

    boolean isAvailable()

  Allows a `FeatureStoreFactory` to ensure all its preconditions are met, such as the presense of required libraries.

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