Package org.jboss.logging.processor.apt
Class TranslationFileGenerator
- java.lang.Object
-
- org.jboss.logging.processor.apt.AbstractGenerator
-
- org.jboss.logging.processor.apt.TranslationFileGenerator
-
@SupportedOptions({"generatedTranslationFilesPath","org.jboss.logging.tools.level","org.jboss.logging.tools.generated.skip.index"}) final class TranslationFileGenerator extends AbstractGenerator
The generator of skeletal translations files.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TranslationFileGenerator.LevelComparator
-
Field Summary
Fields Modifier and Type Field Description private TranslationFileGenerator.LevelComparator
comparator
private static java.lang.String
DEFAULT_FILE_COMMENT
private static java.lang.String
DEFAULT_FILE_EXTENSION
private static java.lang.String
EMPTY_STRING
(package private) static java.lang.String
GENERATED_FILE_EXTENSION
(package private) static java.lang.String
GENERATED_FILES_PATH_OPTION
private java.lang.String
generatedFilesPath
private static java.lang.String
JAVA_DOC_PARAM
(package private) static java.lang.String
LEVEL_OPTION
private static java.util.Map<java.lang.String,java.lang.Integer>
levels
private static java.util.regex.Pattern
PATTERN
(package private) static java.lang.String
SKIP_INDEX
private boolean
skipIndex
-
Fields inherited from class org.jboss.logging.processor.apt.AbstractGenerator
processingEnv
-
-
Constructor Summary
Constructors Constructor Description TranslationFileGenerator(javax.annotation.processing.ProcessingEnvironment processingEnv)
The constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
addIndexesToFormat(MessageMethod method)
private void
generateDefaultTranslationFile(MessageInterface messageInterface)
Generates a default i18n properties file.private void
generateSkeletalTranslationFile(java.lang.String relativePath, java.lang.String fileName, MessageInterface messageInterface)
Generate the translation file containing the given translations.private static java.lang.String
getPrimaryClassNamePrefix(javax.lang.model.element.TypeElement element)
Returns the primary class simple name prefix for an element who represents a MessageBundle or MessageLogger interface.private boolean
isMethodWritable(MessageMethod method)
private java.util.Map<java.lang.String,java.lang.String>
parseParameterComments(MessageMethod messageMethod)
void
processTypeElement(javax.lang.model.element.TypeElement annotation, javax.lang.model.element.TypeElement element, MessageInterface messageInterface)
Processes a type element.private static void
writeSeparatorLine(java.io.BufferedWriter writer)
private void
writeSkeletonMessageMethod(java.io.BufferedWriter writer, MessageMethod messageMethod)
-
Methods inherited from class org.jboss.logging.processor.apt.AbstractGenerator
getName, getSupportedOptions, logger
-
-
-
-
Field Detail
-
levels
private static final java.util.Map<java.lang.String,java.lang.Integer> levels
-
PATTERN
private static final java.util.regex.Pattern PATTERN
-
EMPTY_STRING
private static final java.lang.String EMPTY_STRING
- See Also:
- Constant Field Values
-
JAVA_DOC_PARAM
private static final java.lang.String JAVA_DOC_PARAM
- See Also:
- Constant Field Values
-
DEFAULT_FILE_EXTENSION
private static final java.lang.String DEFAULT_FILE_EXTENSION
- See Also:
- Constant Field Values
-
DEFAULT_FILE_COMMENT
private static final java.lang.String DEFAULT_FILE_COMMENT
- See Also:
- Constant Field Values
-
GENERATED_FILES_PATH_OPTION
static final java.lang.String GENERATED_FILES_PATH_OPTION
- See Also:
- Constant Field Values
-
GENERATED_FILE_EXTENSION
static final java.lang.String GENERATED_FILE_EXTENSION
- See Also:
- Constant Field Values
-
LEVEL_OPTION
static final java.lang.String LEVEL_OPTION
- See Also:
- Constant Field Values
-
SKIP_INDEX
static final java.lang.String SKIP_INDEX
- See Also:
- Constant Field Values
-
generatedFilesPath
private final java.lang.String generatedFilesPath
-
comparator
private final TranslationFileGenerator.LevelComparator comparator
-
skipIndex
private final boolean skipIndex
-
-
Method Detail
-
processTypeElement
public void processTypeElement(javax.lang.model.element.TypeElement annotation, javax.lang.model.element.TypeElement element, MessageInterface messageInterface)
Description copied from class:AbstractGenerator
Processes a type element.- Specified by:
processTypeElement
in classAbstractGenerator
- Parameters:
annotation
- the annotation who trigger the processingelement
- the element that contains the methods.messageInterface
- the message interface to implement.
-
generateSkeletalTranslationFile
private void generateSkeletalTranslationFile(java.lang.String relativePath, java.lang.String fileName, MessageInterface messageInterface)
Generate the translation file containing the given translations.- Parameters:
relativePath
- the relative pathfileName
- the file namemessageInterface
- the message interface
-
generateDefaultTranslationFile
private void generateDefaultTranslationFile(MessageInterface messageInterface)
Generates a default i18n properties file.- Parameters:
messageInterface
- the message interface
-
writeSkeletonMessageMethod
private void writeSkeletonMessageMethod(java.io.BufferedWriter writer, MessageMethod messageMethod) throws java.io.IOException
- Throws:
java.io.IOException
-
parseParameterComments
private java.util.Map<java.lang.String,java.lang.String> parseParameterComments(MessageMethod messageMethod) throws java.io.IOException
- Throws:
java.io.IOException
-
isMethodWritable
private boolean isMethodWritable(MessageMethod method)
-
writeSeparatorLine
private static void writeSeparatorLine(java.io.BufferedWriter writer) throws java.io.IOException
- Throws:
java.io.IOException
-
getPrimaryClassNamePrefix
private static java.lang.String getPrimaryClassNamePrefix(javax.lang.model.element.TypeElement element)
Returns the primary class simple name prefix for an element who represents a MessageBundle or MessageLogger interface.- Parameters:
element
- the element- Returns:
- the translation file name prefix
- Throws:
java.lang.IllegalArgumentException
- if element is null or the element is not an interface
-
addIndexesToFormat
private java.lang.String addIndexesToFormat(MessageMethod method)
-
-