Package org.jboss.logging.processor.model

## Interface MessageInterface

All Superinterfaces:
  `javax.lang.model.AnnotatedConstruct`, `ClassType`, `java.lang.Comparable<MessageInterface>`, `DelegatingElement`, `DelegatingTypeElement`, `javax.lang.model.element.Element`, `JavaDocComment`, `javax.lang.model.element.Parameterizable`, `javax.lang.model.element.QualifiedNameable`, `javax.lang.model.element.TypeElement`

    public interface MessageInterface
    extends java.lang.Comparable<MessageInterface>, ClassType, JavaDocComment, DelegatingTypeElement

Date: 28.07.2011

Author:
  James R. Perkins

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default java.util.Properties` `expressionProperties()` The properties used to resolve expressions.
`java.util.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 javax.lang.model.element.TypeElement` `generatedAnnotation()` Returns the type to use for the `@Generated` annotation.
`int` `getIdLength()` The length to pad the id with.
`java.lang.String` `loggingFQCN()` The fully qualified class name to use for log methods.
`java.util.Collection<MessageMethod>` `methods()` A collection of all the methods this interface needs to implement.
`java.lang.String` `name()` The qualified name of the message interface.
`java.lang.String` `packageName()` The package name of the message interface.
`java.lang.String` `projectCode()` The project code for the message interface or `null` if not annotated with `@MessageBundle` or `@MessageLogger`.
`java.lang.String` `simpleName()` The name of the interface without the package.
`java.util.List<org.jboss.logging.annotations.ValidIdRange>` `validIdRanges()` Returns a list of `valid id ranges`.

### 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, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, getModifiers, isAnnotatedWith`

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

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

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

`equals, 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

    java.util.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

    java.util.Collection<MessageMethod> methods()

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

Returns:
  a collection of methods.

#### projectCode

    java.lang.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

    java.lang.String name()

The qualified name of the message interface.

Returns:
  the qualified name.

#### packageName

    java.lang.String packageName()

The package name of the message interface.

Returns:
  the package name.

#### simpleName

    java.lang.String simpleName()

The name of the interface without the package.

Returns:
  the simple interface name.

#### loggingFQCN

    java.lang.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

    java.util.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 javax.lang.model.element.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 java.util.Properties expressionProperties()

The properties used to resolve expressions.

Returns:
  the properties used to resolve expressions