Class JtaTransactionAnnotationParser
- java.lang.Object
- org.springframework.transaction.annotation.JtaTransactionAnnotationParser
- All Implemented Interfaces:
Serializable
,TransactionAnnotationParser
public class JtaTransactionAnnotationParser extends Object implements TransactionAnnotationParser, Serializable
Strategy implementation for parsing JTA 1.2'sTransactional
annotation.- Since:
- 4.0
- Author:
- Juergen Hoeller
- See Also:
- Serialized Form
Constructor Summary
Constructors Constructor Description JtaTransactionAnnotationParser()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
int
hashCode()
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.TransactionAttribute
parseTransactionAnnotation(Transactional ann)
protected TransactionAttribute
parseTransactionAnnotation(AnnotationAttributes attributes)
Constructor Detail
JtaTransactionAnnotationParser
public JtaTransactionAnnotationParser()
Method Detail
isCandidateClass
public boolean isCandidateClass(Class<?> targetClass)
Description copied from interface:TransactionAnnotationParser
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.- Specified by:
isCandidateClass
in interfaceTransactionAnnotationParser
- 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.
parseTransactionAnnotation
@Nullable public TransactionAttribute parseTransactionAnnotation(AnnotatedElement element)
Description copied from interface:TransactionAnnotationParser
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.- Specified by:
parseTransactionAnnotation
in interfaceTransactionAnnotationParser
- 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)
parseTransactionAnnotation
public TransactionAttribute parseTransactionAnnotation(Transactional ann)
parseTransactionAnnotation
protected TransactionAttribute parseTransactionAnnotation(AnnotationAttributes attributes)