Class MapperAnnotatedFormattingMessenger
- java.lang.Object
-
- org.mapstruct.ap.internal.processor.MapperAnnotatedFormattingMessenger
-
- All Implemented Interfaces:
FormattingMessager
public class MapperAnnotatedFormattingMessenger extends java.lang.Object implements FormattingMessager
Handles redirection of errors/warnings so that they're shown on the mapper instead of hidden on a superclass.
-
-
Field Summary
Fields Modifier and Type Field Description private FormattingMessagerdelegateMessagerprivate javax.lang.model.element.TypeElementmapperTypeElementprivate TypeUtilstypeUtils
-
Constructor Summary
Constructors Constructor Description MapperAnnotatedFormattingMessenger(FormattingMessager delegateMessager, javax.lang.model.element.TypeElement mapperTypeElement, TypeUtils typeUtils)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringconstructMethod(javax.lang.model.element.Element e)ExecutableElement.toString() has different values depending on the compiler.private java.lang.Object[]determineDelegationArguments(javax.lang.model.element.Element e, Message msg, java.lang.Object[] args)private javax.lang.model.element.ElementdetermineDelegationElement(javax.lang.model.element.Element e)private MessagedetermineDelegationMessage(javax.lang.model.element.Element e, Message msg)booleanisErroneous()private booleanmethodInMapperClass(javax.lang.model.element.Element e)voidnote(int level, Message log, java.lang.Object... args)Just log as plain noteprivate java.lang.StringparameterToString(javax.lang.model.element.VariableElement element)voidprintMessage(javax.lang.model.element.Element e, javax.lang.model.element.AnnotationMirror a, javax.lang.model.element.AnnotationValue v, Message msg, java.lang.Object... args)Prints a message of the specified kind at the location of the annotation value inside the annotation positionHint of the annotated element.voidprintMessage(javax.lang.model.element.Element e, javax.lang.model.element.AnnotationMirror a, Message msg, java.lang.Object... args)Prints a message of the specified kind at the location of the annotation positionHint of the annotated element.voidprintMessage(javax.lang.model.element.Element e, Message msg, java.lang.Object... args)Prints a message of the specified kind at the location of the element.voidprintMessage(Message msg, java.lang.Object... args)Prints a message of the specified kind.private java.lang.StringtypeMirrorToString(javax.lang.model.type.TypeMirror type)
-
-
-
Field Detail
-
delegateMessager
private FormattingMessager delegateMessager
-
mapperTypeElement
private javax.lang.model.element.TypeElement mapperTypeElement
-
typeUtils
private TypeUtils typeUtils
-
-
Constructor Detail
-
MapperAnnotatedFormattingMessenger
public MapperAnnotatedFormattingMessenger(FormattingMessager delegateMessager, javax.lang.model.element.TypeElement mapperTypeElement, TypeUtils typeUtils)
-
-
Method Detail
-
printMessage
public void printMessage(Message msg, java.lang.Object... args)
Description copied from interface:FormattingMessagerPrints a message of the specified kind.- Specified by:
printMessagein interfaceFormattingMessager- Parameters:
msg- the messageargs- Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored
-
printMessage
public void printMessage(javax.lang.model.element.Element e, Message msg, java.lang.Object... args)Description copied from interface:FormattingMessagerPrints a message of the specified kind at the location of the element.- Specified by:
printMessagein interfaceFormattingMessager- Parameters:
e- the element to use as a position hintmsg- the messageargs- Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored
-
printMessage
public void printMessage(javax.lang.model.element.Element e, javax.lang.model.element.AnnotationMirror a, Message msg, java.lang.Object... args)Description copied from interface:FormattingMessagerPrints a message of the specified kind at the location of the annotation positionHint of the annotated element.- Specified by:
printMessagein interfaceFormattingMessager- Parameters:
e- the annotated elementa- the annotation to use as a position hint (can be null)msg- the messageargs- Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored
-
printMessage
public void printMessage(javax.lang.model.element.Element e, javax.lang.model.element.AnnotationMirror a, javax.lang.model.element.AnnotationValue v, Message msg, java.lang.Object... args)Description copied from interface:FormattingMessagerPrints a message of the specified kind at the location of the annotation value inside the annotation positionHint of the annotated element.- Specified by:
printMessagein interfaceFormattingMessager- Parameters:
e- the annotated elementa- the annotation containing the annotation valuev- the annotation value to use as a position hintmsg- the messageargs- Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored
-
note
public void note(int level, Message log, java.lang.Object... args)Description copied from interface:FormattingMessagerJust log as plain note- Specified by:
notein interfaceFormattingMessager- Parameters:
level- nesting levellog- the log messageargs- the arguments
-
isErroneous
public boolean isErroneous()
- Specified by:
isErroneousin interfaceFormattingMessager
-
determineDelegationArguments
private java.lang.Object[] determineDelegationArguments(javax.lang.model.element.Element e, Message msg, java.lang.Object[] args)
-
constructMethod
private java.lang.String constructMethod(javax.lang.model.element.Element e)
ExecutableElement.toString() has different values depending on the compiler. Constructing the method itself manually will ensure that the message is always traceable to it's source.
-
parameterToString
private java.lang.String parameterToString(javax.lang.model.element.VariableElement element)
-
typeMirrorToString
private java.lang.String typeMirrorToString(javax.lang.model.type.TypeMirror type)
-
determineDelegationMessage
private Message determineDelegationMessage(javax.lang.model.element.Element e, Message msg)
-
determineDelegationElement
private javax.lang.model.element.Element determineDelegationElement(javax.lang.model.element.Element e)
-
methodInMapperClass
private boolean methodInMapperClass(javax.lang.model.element.Element e)
-
-