Package org.geotools.data.complex.spi
Interface CustomSourceDataStore
-
- All Known Implementing Classes:
MongoComplexDataSource
public interface CustomSourceDataStore
This interface allows data stores to take advantage of certain App-Schema extension points allowing them to provided the necessary customizations. Is up to each store, based on the context, to decide if it wants to contribute with anything.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description DataAccess<? extends FeatureType,? extends Feature>
buildDataStore(SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig)
Builds a data store based on the provided App-Schema data store configuration.DataAccessMappingFeatureIterator
buildIterator(AppSchemaDataAccess store, FeatureTypeMapping featureTypeMapping, Query query, Transaction transaction)
Allows a data store to build its own iterator that will be used by App-Schema core to retrieve the necessary attributes from the data store to build the mapped feature types.void
configXmlDigesterAttributesMappings(Digester digester)
Allows a data store to provide its own configuration to the XML parser \ digester for attributes mappings.void
configXmlDigesterDataSources(Digester digester)
Allows a data store to provide its own configuration to the XML parser \ digester for data sources.default List<PropertyName>
getSurrogatePropertyNames(List<PropertyName> requested, FeatureTypeMapping mapping)
static List<CustomSourceDataStore>
loadExtensions()
Helper method that loads all the custom data stores extensions.
-
-
-
Method Detail
-
buildDataStore
DataAccess<? extends FeatureType,? extends Feature> buildDataStore(SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig)
Builds a data store based on the provided App-Schema data store configuration. If the extension is NOT capable of building a data store based on the provided configuration NULL should be returned.- Parameters:
dataStoreConfig
- App-Schema data store configurationappSchemaConfig
- App-Schema full configuration- Returns:
- a data store build based on the provided configuration or NULL
-
configXmlDigesterDataSources
void configXmlDigesterDataSources(Digester digester)
Allows a data store to provide its own configuration to the XML parser \ digester for data sources.- Parameters:
digester
- XML parser \ digester
-
configXmlDigesterAttributesMappings
void configXmlDigesterAttributesMappings(Digester digester)
Allows a data store to provide its own configuration to the XML parser \ digester for attributes mappings.- Parameters:
digester
- XML parser \ digester
-
buildIterator
DataAccessMappingFeatureIterator buildIterator(AppSchemaDataAccess store, FeatureTypeMapping featureTypeMapping, Query query, Transaction transaction)
Allows a data store to build its own iterator that will be used by App-Schema core to retrieve the necessary attributes from the data store to build the mapped feature types. Stores can also if need change the current App-Schema query.- Parameters:
store
- the data store from where App-Schema will retrieve the necessary valuesfeatureTypeMapping
- the feature typ mapping that is being build by App-Schema corequery
- the query that will \ should be submitted to the data storetransaction
- the current transaction context- Returns:
- a custom iterator or NULL
-
getSurrogatePropertyNames
default List<PropertyName> getSurrogatePropertyNames(List<PropertyName> requested, FeatureTypeMapping mapping)
-
loadExtensions
static List<CustomSourceDataStore> loadExtensions()
Helper method that loads all the custom data stores extensions.- Returns:
- the list of found custom data store extensions
-
-