org.springframework.data.repository.config

## Interface ImplementationDetectionConfiguration

All Known Subinterfaces:
  ImplementationLookupConfiguration

    public interface ImplementationDetectionConfiguration

Expresses configuration to be used to detect implementation classes for repositories and repository fragments.

Since:
  2.1
Author:
  Oliver Gierke

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default ImplementationLookupConfiguration` `forFragment(String fragmentInterfaceName)` Returns the final lookup configuration for the given fully-qualified fragment interface name.
`default ImplementationLookupConfiguration` `forRepositoryConfiguration(RepositoryConfiguration<?> config)` Returns the final lookup configuration for the given `RepositoryConfiguration`.
`default String` `generateBeanName(BeanDefinition definition)` Generate the bean name for the given `BeanDefinition`.
`Streamable<String>` `getBasePackages()` Return the base packages to be scanned for implementation types.
`Streamable<TypeFilter>` `getExcludeFilters()` Returns the exclude filters to be used for the implementation class scanning.
`String` `getImplementationPostfix()` Returns the postfix to be used to calculate the implementation type's name.
`MetadataReaderFactory` `getMetadataReaderFactory()` Returns the `MetadataReaderFactory` to be used for implementation class scanning.

### Method Detail

#### getImplementationPostfix

    String getImplementationPostfix()

Returns the postfix to be used to calculate the implementation type's name.

Returns:
  must not be null.

#### getBasePackages

    Streamable<String> getBasePackages()

Return the base packages to be scanned for implementation types.

Returns:
  must not be null.

#### getExcludeFilters

    Streamable<TypeFilter> getExcludeFilters()

Returns the exclude filters to be used for the implementation class scanning.

Returns:
  must not be null.

#### getMetadataReaderFactory

    MetadataReaderFactory getMetadataReaderFactory()

Returns the `MetadataReaderFactory` to be used for implementation class scanning.

Returns:
  must not be null.

#### generateBeanName

    default String generateBeanName(BeanDefinition definition)

Generate the bean name for the given `BeanDefinition`.

Parameters:
  `definition` - must not be null.
Returns:

#### forFragment

    default ImplementationLookupConfiguration forFragment(String fragmentInterfaceName)

Returns the final lookup configuration for the given fully-qualified fragment interface name.

Parameters:
  `fragmentInterfaceName` - must not be null or empty.
Returns:

#### forRepositoryConfiguration

    default ImplementationLookupConfiguration forRepositoryConfiguration(RepositoryConfiguration<?> config)

Returns the final lookup configuration for the given `RepositoryConfiguration`.

Parameters:
  `config` - must not be null.
Returns: