org.springframework.data.repository.core

## Interface RepositoryInformation

All Superinterfaces:
  RepositoryMetadata

    public interface RepositoryInformation
    extends RepositoryMetadata

Additional repository specific information

Author:
  Oliver Gierke

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`Streamable<Method>` `getQueryMethods()` Returns all methods considered to be query methods.
`Class<?>` `getRepositoryBaseClass()` Returns the base class to be used to create the proxy backing instance.
`Method` `getTargetClassMethod(Method method)` Returns the target class method that is backing the given method.
`boolean` `hasCustomMethod()` Returns if the configured repository interface has custom methods, that might have to be delegated to a custom implementation.
`default boolean` `hasQueryMethods()`
`boolean` `isBaseClassMethod(Method method)` Returns whether the given method is logically a base class method.
`boolean` `isCustomMethod(Method method)` Returns whether the given method is a custom repository method.
`boolean` `isQueryMethod(Method method)` Returns whether the given method is a query method.

### Methods inherited from interface org.springframework.data.repository.core.RepositoryMetadata

`getAlternativeDomainTypes, getCrudMethods, getDomainType, getIdType, getRepositoryInterface, getReturnedDomainClass, getReturnType, isPagingRepository, isReactiveRepository`

### Method Detail

#### getRepositoryBaseClass

    Class<?> getRepositoryBaseClass()

Returns the base class to be used to create the proxy backing instance.

Returns:

#### hasCustomMethod

    boolean hasCustomMethod()

Returns if the configured repository interface has custom methods, that might have to be delegated to a custom implementation. This is used to verify repository configuration.

Returns:

#### isCustomMethod

    boolean isCustomMethod(Method method)

Returns whether the given method is a custom repository method.

Parameters:
  `method` -
Returns:

#### isQueryMethod

    boolean isQueryMethod(Method method)

Returns whether the given method is a query method.

Parameters:
  `method` -
Returns:

#### isBaseClassMethod

    boolean isBaseClassMethod(Method method)

Returns whether the given method is logically a base class method. This also includes methods (re)declared in the repository interface that match the signatures of the base implementation.

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

#### getQueryMethods

    Streamable<Method> getQueryMethods()

Returns all methods considered to be query methods.

Returns:

#### getTargetClassMethod

    Method getTargetClassMethod(Method method)

Returns the target class method that is backing the given method. This can be necessary if a repository interface redeclares a method of the core repository interface (e.g. for transaction behavior customization). Returns the method itself if the target class does not implement the given method. Implementations need to make sure the `Method` returned can be invoked via reflection, i.e. needs to be accessible.

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

#### hasQueryMethods

    default boolean hasQueryMethods()