Interface TransactionAnnotationParser
- All Known Implementing Classes:
Ejb3TransactionAnnotationParser
,JtaTransactionAnnotationParser
,SpringTransactionAnnotationParser
public interface TransactionAnnotationParser
Strategy interface for parsing known transaction annotation types.AnnotationTransactionAttributeSource
delegates to such parsers for supporting specific annotation types such as Spring's ownTransactional
, JTA 1.2'sTransactional
or EJB3'sTransactionAttribute
.- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
AnnotationTransactionAttributeSource
,SpringTransactionAnnotationParser
,Ejb3TransactionAnnotationParser
,JtaTransactionAnnotationParser
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
isCandidateClass(Class<?> targetClass)
Determine whether the given class is a candidate for transaction attributes in the annotation format of thisTransactionAnnotationParser
.TransactionAttribute
parseTransactionAnnotation(AnnotatedElement element)
Parse the transaction attribute for the given method or class, based on an annotation type understood by this parser.
Method Detail
isCandidateClass
default boolean isCandidateClass(Class<?> targetClass)
Determine whether the given class is a candidate for transaction attributes in the annotation format of thisTransactionAnnotationParser
.If this method returns
false
, the methods on the given class will not get traversed for#parseTransactionAnnotation
introspection. Returningfalse
is therefore an optimization for non-affected classes, whereastrue
simply means that the class needs to get fully introspected for each method on the given class individually.- Parameters:
targetClass
- the class to introspect- Returns:
false
if the class is known to have no transaction annotations at class or method level;true
otherwise. The default implementation returnstrue
, leading to regular introspection.- Since:
- 5.2
parseTransactionAnnotation
@Nullable TransactionAttribute parseTransactionAnnotation(AnnotatedElement element)
Parse the transaction attribute for the given method or class, based on an annotation type understood by this parser.This essentially parses a known transaction annotation into Spring's metadata attribute class. Returns
null
if the method/class is not transactional.- Parameters:
element
- the annotated method or class- Returns:
- the configured transaction attribute, or
null
if none found - See Also:
AnnotationTransactionAttributeSource.determineTransactionAttribute(java.lang.reflect.AnnotatedElement)