Package org.jboss.logging.processor.model

# Interface MessageMethod

All Superinterfaces:
  `AnnotatedConstruct`, `Comparable<MessageMethod>`, `DelegatingElement`, `DelegatingExecutableElement`, `Element`, `ExecutableElement`, `JavaDocComment`, `Parameterizable`

public interface MessageMethod extends Comparable<MessageMethod>, JavaDocComment, DelegatingExecutableElement
Date: 29.07.2011

Author:
  James R. Perkins

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static interface`
`MessageMethod.Message`
Represents a `Message` annotation on a method.

## Method Summary

Modifier and Type
Method
Description
`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` .
`String`
`loggerMethod()`
Returns the LogMessage annotation associated with this method only if `isLoggerMethod()` returns `true`.
`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.
`String`
`messageMethodName()`
Returns the name of the method used to retrieve the message.
`String`
`name()`
Returns the method name.
`Set<Parameter>`
`parameters()`
Returns the parameters for the method.
`Set<Parameter>`
`parametersAnnotatedWith(Class<? extends 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.
`Set<ThrowableType>`
`thrownTypes()`
Returns a collection of throwable types the method throws.
`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 Details

### name

String name()
Returns the method name.

Returns:
  the method name.

### parameters

Set<Parameter> parameters()
Returns the parameters for the method.

Returns:
  the parameters for the method

### parametersAnnotatedWith

Set<Parameter> parametersAnnotatedWith(Class<? extends 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

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

String messageMethodName()
Returns the name of the method used to retrieve the message.

Returns:
  the name of the message method.

### translationKey

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

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

Returns:
  the log message annotation

### logLevel

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`.