Package org.jboss.logging.processor.model

## Interface MessageInterface

All Superinterfaces:
  `AnnotatedConstruct`, `ClassType`, `Comparable<MessageInterface>`, `DelegatingElement`, `DelegatingTypeElement`, `Element`, `JavaDocComment`, `Parameterizable`, `QualifiedNameable`, `TypeElement`

    public interface MessageInterface
    extends Comparable<MessageInterface>, ClassType, JavaDocComment, DelegatingTypeElement

Date: 28.07.2011

Author:
  James R. Perkins

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default Properties` `expressionProperties​()` The properties used to resolve expressions.
`Set<MessageInterface>` `extendedInterfaces​()` A set of qualified interface names this interface extends or an empty set.
`boolean` `extendsLoggerInterface​()` Checks the interface to see if the `logger interface` is being extended in this interface.
`default TypeElement` `generatedAnnotation​()` Returns the type to use for the `@Generated` annotation.
`int` `getIdLength​()` The length to pad the id with.
`String` `loggingFQCN​()` The fully qualified class name to use for log methods.
`Collection<MessageMethod>` `methods​()` A collection of all the methods this interface needs to implement.
`String` `name​()` The qualified name of the message interface.
`String` `packageName​()` The package name of the message interface.
`String` `projectCode​()` The project code for the message interface or `null` if not annotated with `@MessageBundle` or `@MessageLogger`.
`String` `simpleName​()` The name of the interface without the package.
`List<org.jboss.logging.annotations.ValidIdRange>` `validIdRanges​()` Returns a list of `valid id ranges`.

### Methods inherited from interface javax.lang.model.AnnotatedConstruct

`getAnnotationsByType`

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

`isAssignableFrom, isSameAs, isSubtypeOf`

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

`compareTo`

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

`accept, asType, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, getModifiers, isAnnotatedWith`

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

`getDelegate, getEnclosedElements, getEnclosingElement, getInterfaces, getNestingKind, getQualifiedName, getSimpleName, getSuperclass, getTypeParameters`

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

`accept, asType, equals, getAnnotation, getAnnotationMirrors, getKind, getModifiers, hashCode`

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

`getComment`

### Method Detail

#### extendsLoggerInterface

    boolean extendsLoggerInterface​()

Checks the interface to see if the `logger interface` is being extended in this interface.

Returns:
  `true` if this interface extends the logger interface, otherwise `false`.

#### extendedInterfaces

    Set<MessageInterface> extendedInterfaces​()

A set of qualified interface names this interface extends or an empty set.

Returns:
  a set of interface names or an empty set.

#### methods

    Collection<MessageMethod> methods​()

A collection of all the methods this interface needs to implement.

Returns:
  a collection of methods.

#### projectCode

    String projectCode​()

The project code for the message interface or `null` if not annotated with `@MessageBundle` or `@MessageLogger`.

Returns:
  the project code or `null` if not annotated with `@MessageBundle` or `@MessageLogger`

#### name

    String name​()

The qualified name of the message interface.

Returns:
  the qualified name.

#### packageName

    String packageName​()

The package name of the message interface.

Returns:
  the package name.

#### simpleName

    String simpleName​()

The name of the interface without the package.

Returns:
  the simple interface name.

#### loggingFQCN

    String loggingFQCN​()

The fully qualified class name to use for log methods. This will generally be the same result as `name()`.

Returns:
  the fully qualified class name to use for logging.

#### validIdRanges

    List<org.jboss.logging.annotations.ValidIdRange> validIdRanges​()

Returns a list of `valid id ranges`.

Returns:
  a list of valid id ranges or an empty list

#### getIdLength

    int getIdLength​()

The length to pad the id with. A value of less than 0 indicates no padding.

Returns:
  the length to pad the id with

#### generatedAnnotation

    default TypeElement generatedAnnotation​()

Returns the type to use for the `@Generated` annotation. This may return `null` of the implementation should not be annotated.

Returns:
  the type for the generated annotation or `null` if no annotation is wanted

#### expressionProperties

    default Properties expressionProperties​()

The properties used to resolve expressions.

Returns:
  the properties used to resolve expressions