Module java.compiler
Package javax.annotation.processing

## Interface Messager

    public interface Messager

A `Messager` provides the way for an annotation processor to report error messages, warnings, and other notices. Elements, annotations, and annotation values can be passed to provide a location hint for the message. However, such location hints may be unavailable or only approximate.

Printing a message with an error kind will raise an error.

Note that the messages "printed" by methods in this interface may or may not appear as textual output to a location like `System.out` or `System.err`. Implementations may choose to present this information in a different fashion, such as messages in a window.

Since:
  1.6
See Also:
  `ProcessingEnvironment.getLocale()`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `printMessage(Diagnostic.Kind kind, CharSequence msg)` Prints a message of the specified kind.
`void` `printMessage(Diagnostic.Kind kind, CharSequence msg, Element e)` Prints a message of the specified kind at the location of the element.
`void` `printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a)` Prints a message of the specified kind at the location of the annotation mirror of the annotated element.
`void` `printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a, AnnotationValue v)` Prints a message of the specified kind at the location of the annotation value inside the annotation mirror of the annotated element.

### Method Detail

#### printMessage

    void printMessage(Diagnostic.Kind kind,
                      CharSequence msg)

Prints a message of the specified kind.

Parameters:
  `kind` - the kind of message
  `msg` - the message, or an empty string if none

#### printMessage

    void printMessage(Diagnostic.Kind kind,
                      CharSequence msg,
                      Element e)

Prints a message of the specified kind at the location of the element.

Parameters:
  `kind` - the kind of message
  `msg` - the message, or an empty string if none
  `e` - the element to use as a position hint

#### printMessage

    void printMessage(Diagnostic.Kind kind,
                      CharSequence msg,
                      Element e,
                      AnnotationMirror a)

Prints a message of the specified kind at the location of the annotation mirror of the annotated element.

Parameters:
  `kind` - the kind of message
  `msg` - the message, or an empty string if none
  `e` - the annotated element
  `a` - the annotation to use as a position hint

#### printMessage

    void printMessage(Diagnostic.Kind kind,
                      CharSequence msg,
                      Element e,
                      AnnotationMirror a,
                      AnnotationValue v)

Prints a message of the specified kind at the location of the annotation value inside the annotation mirror of the annotated element.

Parameters:
  `kind` - the kind of message
  `msg` - the message, or an empty string if none
  `e` - the annotated element
  `a` - the annotation containing the annotation value
  `v` - the annotation value to use as a position hint