Package org.jboss.logging.processor.model

## Interface MessageMethod

All Superinterfaces:
  `javax.lang.model.AnnotatedConstruct`, `java.lang.Comparable<MessageMethod>`, `DelegatingElement`, `DelegatingExecutableElement`, `javax.lang.model.element.Element`, `javax.lang.model.element.ExecutableElement`, `JavaDocComment`, `javax.lang.model.element.Parameterizable`

    public interface MessageMethod
    extends java.lang.Comparable<MessageMethod>, JavaDocComment, DelegatingExecutableElement

Date: 29.07.2011

Author:
  James R. Perkins

### Nested Class Summary

Nested Classes
`static interface` `MessageMethod.Message` Represents a `Message` annotation on a method.

### Method Summary

All Methods Instance Methods Abstract Methods
`Parameter` `cause()` Returns the cause element if `hasCause()` returns `true`, otherwise `null`.
`int` `formatParameterCount()` Returns the number of parameters minus the cause parameter count for the method.
`boolean` `hasCause()` Returns `true` if there is a cause element, otherwise `false`.
`boolean` `inheritsMessage()` Indicates whether the message was inherited from another message or not.
`boolean` `isLoggerMethod()` Returns `true` if this is a logger method, otherwise `false`.
`boolean` `isOverloaded()` Returns `true` if the method is overloaded, otherwise `false` .
`java.lang.String` `loggerMethod()` Returns the LogMessage annotation associated with this method only if `isLoggerMethod()` returns `true`.
`java.lang.String` `logLevel()` Returns the log level parameter associated with the method only if `isLoggerMethod()` returns `true`.
`MessageMethod.Message` `message()` The `MessageMethod.Message` to be used for the method.
`java.lang.String` `messageMethodName()` Returns the name of the method used to retrieve the message.
`java.lang.String` `name()` Returns the method name.
`java.util.Set<Parameter>` `parameters()` Returns the parameters for the method.
`java.util.Set<Parameter>` `parametersAnnotatedWith​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)` Returns an unmodifiable collection of the parameters specified by the parameter type or an empty set.
`ReturnType` `returnType()` Returns the return type for the method.
`java.util.Set<ThrowableType>` `thrownTypes()` Returns a collection of throwable types the method throws.
`java.lang.String` `translationKey()` Returns the name of the key used in the translation files for the message translation.

### Methods inherited from interface java.lang.Comparable

`compareTo`

### Methods inherited from interface org.jboss.logging.processor.model.DelegatingElement

`accept, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getEnclosedElements, getEnclosingElement, getKind, getModifiers, isAnnotatedWith`

### Methods inherited from interface org.jboss.logging.processor.model.DelegatingExecutableElement

`asType, getDefaultValue, getDelegate, getParameters, getReceiverType, getReturnType, getSimpleName, getThrownTypes, getTypeParameters, isDefault, isVarArgs`

### Methods inherited from interface javax.lang.model.element.Element

`equals, hashCode`

### Methods inherited from interface org.jboss.logging.processor.model.JavaDocComment

`getComment`

### Method Detail

#### name

    java.lang.String name()

Returns the method name.

Returns:
  the method name.

#### parameters

    java.util.Set<Parameter> parameters()

Returns the parameters for the method.

Returns:
  the parameters for the method

#### parametersAnnotatedWith

    java.util.Set<Parameter> parametersAnnotatedWith​(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)

Returns an unmodifiable collection of the parameters specified by the parameter type or an empty set.

Parameters:
  `annotation` - the annotation to get the parameters for
Returns:
  a collection of the parameters or an empty set.

#### returnType

    ReturnType returnType()

Returns the return type for the method.

Returns:
  the return type for the method.

#### thrownTypes

    java.util.Set<ThrowableType> thrownTypes()

Returns a collection of throwable types the method throws. If the method throws no exceptions an empty collection is returned.

Returns:
  a collection of throwable types or an empty collection.

#### message

    MessageMethod.Message message()

The `MessageMethod.Message` to be used for the method.

Returns:
  the message.

#### inheritsMessage

    boolean inheritsMessage()

Indicates whether the message was inherited from another message or not. If `true` is returned the `MessageMethod.Message` was inherited from a different method, otherwise `false`.

Note: `false` does not indicate the method has a `Message` annotation.

Returns:
  `true` if the message was inherited from a different method, otherwise `false`.

#### messageMethodName

    java.lang.String messageMethodName()

Returns the name of the method used to retrieve the message.

Returns:
  the name of the message method.

#### translationKey

    java.lang.String translationKey()

Returns the name of the key used in the translation files for the message translation.

Returns:
  the name of the key in the translation files.

#### hasCause

    boolean hasCause()

Returns `true` if there is a cause element, otherwise `false`.

Returns:
  `true` if there is a cause element, otherwise `false`

#### isOverloaded

    boolean isOverloaded()

Returns `true` if the method is overloaded, otherwise `false` .

Returns:
  `true` if the method is overloaded, otherwise `false`

#### cause

    Parameter cause()

Returns the cause element if `hasCause()` returns `true`, otherwise `null`.

Returns:
  the cause element, otherwise `null`.

#### loggerMethod

    java.lang.String loggerMethod()

Returns the LogMessage annotation associated with this method only if `isLoggerMethod()` returns `true`.

Returns:
  the log message annotation

#### logLevel

    java.lang.String logLevel()

Returns the log level parameter associated with the method only if `isLoggerMethod()` returns `true`.

Returns:
  the enum name of the log level

#### formatParameterCount

    int formatParameterCount()

Returns the number of parameters minus the cause parameter count for the method.

Returns:
  the number of parameters minus the cause parameter count for the method.

#### isLoggerMethod

    boolean isLoggerMethod()

Returns `true` if this is a logger method, otherwise `false`.

Returns:
  `true` if this is a logger method, otherwise `false`.