org.springframework.data.repository.core.support

## Enum SurroundingTransactionDetectorMethodInterceptor

- java.lang.Object
- - java.lang.Enum<SurroundingTransactionDetectorMethodInterceptor>
  - - org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor

All Implemented Interfaces:
  Serializable, Comparable<SurroundingTransactionDetectorMethodInterceptor>, Advice, Interceptor, MethodInterceptor

    public enum SurroundingTransactionDetectorMethodInterceptor
    extends Enum<SurroundingTransactionDetectorMethodInterceptor>
    implements MethodInterceptor

`MethodInterceptor` detecting whether a transaction is already running and exposing that fact via `isSurroundingTransactionActive()`. Useful in case subsequent interceptors might create transactions themselves but downstream components have to find out whether there was one running before the call entered the proxy.

Since:
  1.13
Author:
  Oliver Gierke, Christoph Strobl

### Enum Constant Summary

Enum Constants
Enum Constant and Description
`INSTANCE`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Object` `invoke(MethodInvocation invocation)`
`boolean` `isSurroundingTransactionActive()` Returns whether a transaction was active before the method call entered the repository proxy.
`static SurroundingTransactionDetectorMethodInterceptor` `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static SurroundingTransactionDetectorMethodInterceptor[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### INSTANCE

    public static final SurroundingTransactionDetectorMethodInterceptor INSTANCE

### Method Detail

#### values

    public static SurroundingTransactionDetectorMethodInterceptor[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

    for (SurroundingTransactionDetectorMethodInterceptor c : SurroundingTransactionDetectorMethodInterceptor.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static SurroundingTransactionDetectorMethodInterceptor valueOf(String name)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null

#### isSurroundingTransactionActive

    public boolean isSurroundingTransactionActive()

Returns whether a transaction was active before the method call entered the repository proxy.

Returns:

#### invoke

    @Nullable
    public Object invoke(MethodInvocation invocation)
                            throws Throwable

Specified by:
  `invoke` in interface `MethodInterceptor`
Throws:
  `Throwable`