Interface MappingAnnotationProcessorContext
- All Known Subinterfaces:
ConstructorMappingAnnotationProcessorContext
,MethodParameterMappingAnnotationProcessorContext
,PropertyMappingAnnotationProcessorContext
,TypeMappingAnnotationProcessorContext
public interface MappingAnnotationProcessorContext
A superinterface for contexts passed to mapping annotation processors.
-
Method Summary
Modifier and TypeMethodDescriptiondefault <T> Optional
<BeanReference<? extends T>> toBeanReference
(Class<T> expectedType, Class<?> undefinedTypeMarker, Class<? extends T> type, String name) <T> Optional
<BeanReference<? extends T>> toBeanReference
(Class<T> expectedType, Class<?> undefinedTypeMarker, Class<? extends T> type, String name, BeanRetrieval retrieval) Convert attributes of a bean-reference annotation, such asValueBridgeRef
, to an actualBeanReference
.toContainerExtractorPath
(ContainerExtraction extraction) Convert aContainerExtraction
annotation to aContainerExtractorPath
.<T> T
toNullIfDefault
(T value, T defaultValue) toPojoModelPathValueNode
(ObjectPath objectPath) Convert anObjectPath
annotation to aPojoModelPathValueNode
.
-
Method Details
-
annotatedElement
MappingAnnotatedElement annotatedElement()- Returns:
- A representation of the annotated element.
-
toPojoModelPathValueNode
Convert anObjectPath
annotation to aPojoModelPathValueNode
.- Parameters:
objectPath
- The annotation to convert.- Returns:
- The corresponding path, or an empty optional if the path was empty.
-
toContainerExtractorPath
Convert aContainerExtraction
annotation to aContainerExtractorPath
.- Parameters:
extraction
- The annotation to convert.- Returns:
- The corresponding path.
-
toBeanReference
default <T> Optional<BeanReference<? extends T>> toBeanReference(Class<T> expectedType, Class<?> undefinedTypeMarker, Class<? extends T> type, String name) - Type Parameters:
T
- The bean type.- Parameters:
expectedType
- The supertype of all types that can be referenced.undefinedTypeMarker
- A marker type to detect that thetype
parameter has its default value (undefined).type
- The bean type.name
- The bean name.- Returns:
- The corresponding bean reference, or an empty optional if neither the type nor the name is provided.
-
toBeanReference
<T> Optional<BeanReference<? extends T>> toBeanReference(Class<T> expectedType, Class<?> undefinedTypeMarker, Class<? extends T> type, String name, BeanRetrieval retrieval) Convert attributes of a bean-reference annotation, such asValueBridgeRef
, to an actualBeanReference
.Example of use:
Optional<BeanReference<? extends ValueBridge>> valueBridgeRef = toBeanReference( ValueBridge.class, ValueBridgeRef.UndefinedBridgeImplementationType.class, myValueBridgeRefInstance.type(), myValueBridgeRefInstance.name(), myValueBridgeRefInstance.retrieval() );
- Type Parameters:
T
- The bean type.- Parameters:
expectedType
- The supertype of all types that can be referenced.undefinedTypeMarker
- A marker type to detect that thetype
parameter has its default value (undefined).type
- The bean type.name
- The bean name.retrieval
- How to retrieve the bean. SeeBeanRetrieval
.- Returns:
- The corresponding bean reference, or an empty optional if neither the type nor the name is provided.
-
eventContext
EventContext eventContext()- Returns:
- An event context describing the annotation being processed and its location, for use in log messages and exception messages.
-
toMap
- Parameters:
params
- The original params- Returns:
- A
Map
created fromParam
usingParam.name()
as key andParam.value()
as value - Throws:
SearchException
- ifparams
contain multiple parameters with the sameParam.name()
-
toNullIfDefault
<T> T toNullIfDefault(T value, T defaultValue) - Parameters:
value
- A value extracted from an annotation attribute.defaultValue
- A default value for that annotation attribute.- Returns:
null
ifvalue
isequal
todefaultValue
,value
otherwise.
-