org.springframework.data.repository.config

## Interface RepositoryConfigurationExtension

All Known Implementing Classes:
  RepositoryConfigurationExtensionSupport

    public interface RepositoryConfigurationExtension

SPI to implement store specific extension to the repository bean definition registration process.

Author:
  Oliver Gierke
See Also:
  `RepositoryConfigurationExtensionSupport`

### Method Summary

All Methods Instance Methods Abstract Methods
`String` `getDefaultNamedQueryLocation()` Returns the default location of the Spring Data named queries.
`String` `getModuleName()` Returns the descriptive name of the module.
`<T extends RepositoryConfigurationSource> Collection<RepositoryConfiguration<T>>` `getRepositoryConfigurations(T configSource, ResourceLoader loader, boolean strictMatchesOnly)` Returns all `RepositoryConfiguration`s obtained through the given `RepositoryConfigurationSource`.
`String` `getRepositoryFactoryBeanClassName()` Returns the name of the repository factory class to be used.
`void` `postProcess(BeanDefinitionBuilder builder, AnnotationRepositoryConfigurationSource config)` Callback to post process the `BeanDefinition` built from annotations and tweak the configuration if necessary.
`void` `postProcess(BeanDefinitionBuilder builder, RepositoryConfigurationSource config)` Callback to post process the `BeanDefinition` and tweak the configuration if necessary.
`void` `postProcess(BeanDefinitionBuilder builder, XmlRepositoryConfigurationSource config)` Callback to post process the `BeanDefinition` built from XML and tweak the configuration if necessary.
`void` `registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource)` Callback to register additional bean definitions for a repositories root node.

### Method Detail

#### getModuleName

    String getModuleName()

Returns the descriptive name of the module.

Returns:

#### getRepositoryConfigurations

    <T extends RepositoryConfigurationSource> Collection<RepositoryConfiguration<T>> getRepositoryConfigurations(T configSource,
                                                                                                                 ResourceLoader loader,
                                                                                                                 boolean strictMatchesOnly)

Returns all `RepositoryConfiguration`s obtained through the given `RepositoryConfigurationSource`.

Parameters:
  `configSource` -
  `loader` -
  `strictMatchesOnly` - whether to return strict repository matches only. Handing in true will cause the repository interfaces and domain types handled to be checked whether they are managed by the current store.
Returns:
Since:
  1.9

#### getDefaultNamedQueryLocation

    String getDefaultNamedQueryLocation()

Returns the default location of the Spring Data named queries.

Returns:
  must not be null or empty.

#### getRepositoryFactoryBeanClassName

    String getRepositoryFactoryBeanClassName()

Returns the name of the repository factory class to be used.

Returns:

#### registerBeansForRoot

    void registerBeansForRoot(BeanDefinitionRegistry registry,
                              RepositoryConfigurationSource configurationSource)

Callback to register additional bean definitions for a repositories root node. This usually includes beans you have to set up once independently of the number of repositories to be created. Will be called before any repositories bean definitions have been registered.

Parameters:
  `registry` -
  `source` -

#### postProcess

    void postProcess(BeanDefinitionBuilder builder,
                     RepositoryConfigurationSource config)

Callback to post process the `BeanDefinition` and tweak the configuration if necessary.

Parameters:
  `builder` - will never be null.
  `config` - will never be null.

#### postProcess

    void postProcess(BeanDefinitionBuilder builder,
                     AnnotationRepositoryConfigurationSource config)

Callback to post process the `BeanDefinition` built from annotations and tweak the configuration if necessary.

Parameters:
  `builder` - will never be null.
  `config` - will never be null.

#### postProcess

    void postProcess(BeanDefinitionBuilder builder,
                     XmlRepositoryConfigurationSource config)

Callback to post process the `BeanDefinition` built from XML and tweak the configuration if necessary.

Parameters:
  `builder` - will never be null.
  `config` - will never be null.