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

Methods
`static ClassModel` `implementation(Filer filer, MessageInterface messageInterface, boolean useLogging31)` Creates an implementation code model from the message interface.
`static ClassModel` `translation(Filer filer, 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

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

### Method Detail

#### implementation

    public static ClassModel implementation(Filer filer,
                            MessageInterface messageInterface,
                            boolean useLogging31)
                                     throws IllegalArgumentException

Creates an implementation code model from the message interface.

Parameters:
  `filer` - the filer used to create the source file
  `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 `MessageInterface.getAnnotatedType()` returns `MessageInterface.AnnotatedType.NONE`

#### translation

    public static ClassModel translation(Filer filer,
                         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:
  `filer` - the filer used to create the source file
  `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 `MessageInterface.getAnnotatedType()` returns `MessageInterface.AnnotatedType.NONE`