Package org.springframework.transaction.interceptor

# Class DelegatingTransactionAttribute

java.lang.Object
org.springframework.transaction.support.DelegatingTransactionDefinition
org.springframework.transaction.interceptor.DelegatingTransactionAttribute

All Implemented Interfaces:
  `Serializable`, `TransactionAttribute`, `TransactionDefinition`

public abstract class DelegatingTransactionAttribute extends DelegatingTransactionDefinition implements TransactionAttribute, Serializable
`TransactionAttribute` implementation that delegates all calls to a given target `TransactionAttribute` instance. Abstract because it is meant to be subclassed, with subclasses overriding specific methods that are not supposed to simply delegate to the target instance.

Since:
  1.2
Author:
  Juergen Hoeller, Mark Paluch
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from interface org.springframework.transaction.TransactionDefinition

`ISOLATION_DEFAULT, ISOLATION_READ_COMMITTED, ISOLATION_READ_UNCOMMITTED, ISOLATION_REPEATABLE_READ, ISOLATION_SERIALIZABLE, PROPAGATION_MANDATORY, PROPAGATION_NESTED, PROPAGATION_NEVER, PROPAGATION_NOT_SUPPORTED, PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_SUPPORTS, TIMEOUT_DEFAULT`

## Constructor Summary

Constructors
Constructor
Description
`DelegatingTransactionAttribute(TransactionAttribute targetAttribute)`
Create a DelegatingTransactionAttribute for the given target attribute.

## Method Summary

Modifier and Type
Method
Description
`Collection<String>`
`getLabels()`
Return labels associated with this transaction attribute.
`String`
`getQualifier()`
Return a qualifier value associated with this transaction attribute.
`boolean`
`rollbackOn(Throwable ex)`
Should we roll back on the given exception?

### Methods inherited from class org.springframework.transaction.support.DelegatingTransactionDefinition

`equals, getIsolationLevel, getName, getPropagationBehavior, getTimeout, hashCode, isReadOnly, toString`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.springframework.transaction.TransactionDefinition

`getIsolationLevel, getName, getPropagationBehavior, getTimeout, isReadOnly`

## Constructor Details

### DelegatingTransactionAttribute

public DelegatingTransactionAttribute(TransactionAttribute targetAttribute)
Create a DelegatingTransactionAttribute for the given target attribute.

Parameters:
  `targetAttribute` - the target TransactionAttribute to delegate to

## Method Details

### getQualifier

@Nullable public String getQualifier()
Description copied from interface: `TransactionAttribute`
Return a qualifier value associated with this transaction attribute.

This may be used for choosing a corresponding transaction manager to process this specific transaction.

Specified by:
  `getQualifier` in interface `TransactionAttribute`

### getLabels

public Collection<String> getLabels()
Description copied from interface: `TransactionAttribute`
Return labels associated with this transaction attribute.

This may be used for applying specific transactional behavior or follow a purely descriptive nature.

Specified by:
  `getLabels` in interface `TransactionAttribute`

### rollbackOn

public boolean rollbackOn(Throwable ex)
Description copied from interface: `TransactionAttribute`
Should we roll back on the given exception?

Specified by:
  `rollbackOn` in interface `TransactionAttribute`
Parameters:
  `ex` - the exception to evaluate
Returns:
  whether to perform a rollback or not