org.springframework.transaction.annotation

## Class TransactionManagementConfigurationSelector

- java.lang.Object
- - org.springframework.context.annotation.AdviceModeImportSelector<EnableTransactionManagement>
  - - org.springframework.transaction.annotation.TransactionManagementConfigurationSelector

- All Implemented Interfaces:
    ImportSelector

      public class TransactionManagementConfigurationSelector
      extends AdviceModeImportSelector<EnableTransactionManagement>

  Selects which implementation of `AbstractTransactionManagementConfiguration` should be used based on the value of `EnableTransactionManagement.mode()` on the importing `@Configuration` class.
  Since:
    3.1
  Author:
    Chris Beams
  See Also:
    `EnableTransactionManagement`, `ProxyTransactionManagementConfiguration`, `TransactionManagementConfigUtils.TRANSACTION_ASPECT_CONFIGURATION_CLASS_NAME`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.context.annotation.AdviceModeImportSelector

      `DEFAULT_ADVICE_MODE_ATTRIBUTE_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TransactionManagementConfigurationSelector()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String[]` | `selectImports(AdviceMode adviceMode)` Determine which classes should be imported based on the given `AdviceMode`.

    - ### Methods inherited from class org.springframework.context.annotation.AdviceModeImportSelector

      `getAdviceModeAttributeName, selectImports`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TransactionManagementConfigurationSelector

          public TransactionManagementConfigurationSelector()

  - ### Method Detail

    - #### selectImports

          protected String[] selectImports(AdviceMode adviceMode)

      Determine which classes should be imported based on the given `AdviceMode`.

      Returning `null` from this method indicates that the `AdviceMode` could not be handled or was unknown and that an `IllegalArgumentException` should be thrown.

      Specified by:
        `selectImports` in class `AdviceModeImportSelector<EnableTransactionManagement>`
      Parameters:
        `adviceMode` - the value of the advice mode attribute for the annotation specified via generics.
      Returns:
        `ProxyTransactionManagementConfiguration` or `AspectJTransactionManagementConfiguration` for `PROXY` and `ASPECTJ` values of `EnableTransactionManagement.mode()`, respectively