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

Modifier and Type
Method
Description
`static ClassModel`
`implementation(ProcessingEnvironment processingEnv, MessageInterface messageInterface)`
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 Details

### implementation

public static ClassModel implementation(ProcessingEnvironment processingEnv, MessageInterface messageInterface) throws IllegalArgumentException
Creates an implementation code model from the message interface.

Parameters:
  `processingEnv` - the processing environment
  `messageInterface` - the message interface to implement
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`