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 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 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
      • loadExtensions

        static List<CustomSourceDataStore> loadExtensions()
        Helper method that loads all the custom data stores extensions.
        Returns:
        the list of found custom data store extensions