Class RangeReaderParams
This class converts between:
RangeReaderParameter- Tileverse Range Reader SPI configuration parametersDataAccessFactory.Param- GeoTools DataStore factory parametersProperties- Configuration properties forRangeReaderFactory
Purpose: The Tileverse Range Reader library uses an SPI mechanism with RangeReaderProviders that
declare their configuration parameters. This class dynamically discovers all available providers and converts their
parameters to GeoTools DataStore parameters, enabling seamless configuration through GeoServer or other GeoTools
applications.
Supported Parameters:
- General: Provider selection, caching configuration
- AWS S3: Region, credentials, path style, credential profiles
- Azure Blob: Blob name, account key, SAS token
- Google Cloud Storage: Project ID, quota project, application credentials
Usage:
// In PMTilesDataStoreFactory
Map<String, Object> connectionParams = ...;
Properties rangeReaderConfig = RangeReaderParams.toProperties(connectionParams);
RangeReader reader = RangeReaderFactory.create(uri, rangeReaderConfig);
- See Also:
-
RangeReaderFactoryRangeReaderProviderPMTilesDataStoreFactory
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final List<DataAccessFactory.Param>Aggregated list of supportedrange reader parametersconverted toDataAccessFactory.Paramstatic final DataAccessFactory.ParamParamDataStoreFactorycan use to force selecting a specificRangeReaderProviderwithtoProperties(connectionParameters)and used to obtain the range reder throughRangeReaderFactory.create(Properties)orRangeReaderConfig.fromProperties(Properties)static final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Param -
Method Summary
Modifier and TypeMethodDescriptionstatic DataAccessFactory.Param[]appendAfter(DataAccessFactory.Param... dataStoreParams) Appends Range Reader configuration parameters after the specified datastore parameters.static DataAccessFactory.ParamdataStoreParam(RangeReaderParameter<?> param) Converts aRangeReaderParameterto a GeoToolsDataAccessFactory.Param.static PropertiestoProperties(Map<String, ?> connectionParams) Converts DataStore connection parameters to Range Reader configuration properties.
-
Field Details
-
RANGEREADER_PROVIDER_ID
ParamDataStoreFactorycan use to force selecting a specificRangeReaderProviderwithtoProperties(connectionParameters)and used to obtain the range reder throughRangeReaderFactory.create(Properties)orRangeReaderConfig.fromProperties(Properties) -
MEMORY_CACHE_ENABLED
-
MEMORY_CACHE_BLOCK_ALIGNED
-
MEMORY_CACHE_BLOCK_SIZE
-
HTTP_CONNECTION_TIMEOUT_MILLIS
-
HTTP_TRUST_ALL_SSL_CERTIFICATES
-
HTTP_AUTH_USERNAME
-
HTTP_AUTH_PASSWORD
-
HTTP_AUTH_BEARER_TOKEN
-
HTTP_AUTH_API_KEY_HEADERNAME
-
HTTP_AUTH_API_KEY
-
HTTP_AUTH_API_KEY_VALUE_PREFIX
-
AZURE_BLOB_NAME
-
AZURE_ACCOUNT_KEY
-
AZURE_SAS_TOKEN
-
S3_FORCE_PATH_STYLE
-
S3_AWS_REGION
-
S3_AWS_ACCESS_KEY_ID
-
S3_AWS_SECRET_ACCESS_KEY
-
S3_USE_DEFAULT_CREDENTIALS_PROVIDER
-
S3_DEFAULT_CREDENTIALS_PROFILE
-
GCS_PROJECT_ID
-
GCS_QUOTA_PROJECT_ID
-
GCS_USE_DEFAULT_APPLICTION_CREDENTIALS
-
PROVIDER_PARAMS
Aggregated list of supportedrange reader parametersconverted toDataAccessFactory.Param
-
-
Method Details
-
appendAfter
Appends Range Reader configuration parameters after the specified datastore parameters.This method is used by
PMTilesDataStoreFactory.getParametersInfo()to dynamically include all Range Reader configuration parameters based on available providers.- Parameters:
dataStoreParams- the base datastore parameters (e.g., URI, namespace)- Returns:
- array combining datastore parameters followed by all Range Reader parameters
-
dataStoreParam
Converts aRangeReaderParameterto a GeoToolsDataAccessFactory.Param.This conversion handles:
- Key mapping from Range Reader parameter keys
- Type conversion to GeoTools-compatible types
- Default values and sample values
- Parameter groups (basic vs advanced)
- Descriptions and titles for UI display
- Parameters:
param- the Range Reader parameter to convert- Returns:
- the equivalent GeoTools Param
-
toProperties
Converts DataStore connection parameters to Range Reader configuration properties.This method extracts all Range Reader-related parameters from the DataStore connection parameters map and converts them to a
Propertiesobject suitable for passing toRangeReaderFactory.create(java.net.URI).The conversion includes:
- Provider selection parameters
- Caching configuration
- Cloud provider authentication parameters (S3, Azure, GCS)
- Any other provider-specific parameters
- Parameters:
connectionParams- the DataStore connection parameters (fromPMTilesDataStoreFactory.createDataStore(java.util.Map<java.lang.String, ?>))- Returns:
- properties object suitable for
RangeReaderFactory.create(java.net.URI)
-