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 Details

    • 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 configuration
      appSchemaConfig - 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 values
      featureTypeMapping - the feature typ mapping that is being build by App-Schema core
      query - the query that will \ should be submitted to the data store
      transaction - 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