Package org.jboss.logging.processor.generator.model

## Class ClassModelFactory

- java.lang.Object
- - org.jboss.logging.processor.generator.model.ClassModelFactory

    public class ClassModelFactory
    extends Object

Creates a class model for the message interface.

Author:
  James R. Perkins

### Method Summary

All Methods Static Methods Concrete Methods
`static ClassModel` `implementation​(ProcessingEnvironment processingEnv, MessageInterface messageInterface, boolean useLogging31)` Creates an implementation code model from the message interface.
`static ClassModel` `translation​(ProcessingEnvironment processingEnv, MessageInterface messageInterface, String translationSuffix, Map<MessageMethod,String> translations)` Creates a class model for created translation implementations of the message interface.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### implementation

    public static ClassModel implementation​(ProcessingEnvironment processingEnv,
                                            MessageInterface messageInterface,
                                            boolean useLogging31)
                                     throws IllegalArgumentException

Creates an implementation code model from the message interface.

Parameters:
  `processingEnv` - the processing environment
  `messageInterface` - the message interface to implement
  `useLogging31` - whether or not jboss-logging 3.1 or higher is used
Returns:
  the class model used to implement the interface.
Throws:
  `IllegalArgumentException` - if interface is not annotated with `@MessageBundle` or `@MessageLogger`

#### translation

    public static ClassModel translation​(ProcessingEnvironment processingEnv,
                                         MessageInterface messageInterface,
                                         String translationSuffix,
                                         Map<MessageMethod,String> translations)
                                  throws IllegalArgumentException

Creates a class model for created translation implementations of the message interface.

Note: The implementation class must exist before the translation implementations can be created.

Parameters:
  `processingEnv` - the processing environment
  `messageInterface` - the message interface to implement.
  `translationSuffix` - the translation locale suffix.
  `translations` - a map of the translations for the methods.
Returns:
  the class model used to create translation implementations of the interface.
Throws:
  `IllegalArgumentException` - if interface is not annotated with `@MessageBundle` or `@MessageLogger`