Package org.jboss.logging.processor.apt
Class MessageMethodBuilder
- java.lang.Object
-
- org.jboss.logging.processor.apt.MessageMethodBuilder
-
final class MessageMethodBuilder extends java.lang.Object
Date: 29.07.2011
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
MessageMethodBuilder.AptMessage
private static class
MessageMethodBuilder.AptMessageMethod
An implementation for the MessageMethod interface.
-
Field Summary
Fields Modifier and Type Field Description private java.util.Properties
expressionProperties
private static java.lang.String
MESSAGE_METHOD_SUFFIX
private java.util.List<javax.lang.model.element.ExecutableElement>
methods
private javax.annotation.processing.ProcessingEnvironment
processingEnv
-
Constructor Summary
Constructors Modifier Constructor Description private
MessageMethodBuilder(javax.annotation.processing.ProcessingEnvironment processingEnv, java.util.Properties expressionProperties)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) MessageMethodBuilder
add(java.util.Collection<javax.lang.model.element.ExecutableElement> methods)
(package private) java.util.Set<MessageMethod>
build()
(package private) static MessageMethodBuilder
create(javax.annotation.processing.ProcessingEnvironment processingEnv)
(package private) static MessageMethodBuilder
create(javax.annotation.processing.ProcessingEnvironment processingEnv, java.util.Properties expressionProperties)
private java.util.Collection<javax.lang.model.element.ExecutableElement>
findByName(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
private java.util.Collection<javax.lang.model.element.ExecutableElement>
findByName(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.Name methodName)
Returns a collection of methods with the same name.private MessageMethod.Message
findMessage(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
private int
findMessageId(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
private boolean
hasMessageId(Message message)
private boolean
inheritsMessage(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
Checks to see if the method has or inherits aMessage
annotation.private boolean
isOverloaded(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
Checks to see if the method is overloaded.private int
parameterCount(java.util.Collection<? extends javax.lang.model.element.VariableElement> params)
-
-
-
Field Detail
-
MESSAGE_METHOD_SUFFIX
private static final java.lang.String MESSAGE_METHOD_SUFFIX
- See Also:
- Constant Field Values
-
methods
private final java.util.List<javax.lang.model.element.ExecutableElement> methods
-
processingEnv
private final javax.annotation.processing.ProcessingEnvironment processingEnv
-
expressionProperties
private final java.util.Properties expressionProperties
-
-
Method Detail
-
add
MessageMethodBuilder add(java.util.Collection<javax.lang.model.element.ExecutableElement> methods)
-
build
java.util.Set<MessageMethod> build()
-
findMessage
private MessageMethod.Message findMessage(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
-
findMessageId
private int findMessageId(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
-
hasMessageId
private boolean hasMessageId(Message message)
-
findByName
private java.util.Collection<javax.lang.model.element.ExecutableElement> findByName(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
-
findByName
private java.util.Collection<javax.lang.model.element.ExecutableElement> findByName(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.Name methodName)
Returns a collection of methods with the same name.- Parameters:
methods
- the methods to process.methodName
- the method name to findByName.- Returns:
- a collection of methods with the same name.
-
inheritsMessage
private boolean inheritsMessage(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
Checks to see if the method has or inherits aMessage
annotation.- Parameters:
methods
- the method to search.method
- the method to check.- Returns:
true
if the method has or inherits a message annotation, otherwisefalse
.
-
isOverloaded
private boolean isOverloaded(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)
Checks to see if the method is overloaded. An overloaded method has a different parameter count based on the format parameters only. Parameters annotated withCause
orParam
are not counted.- Parameters:
methods
- the method to search.method
- the method to check.- Returns:
true
if the method is overloaded, otherwisefalse
.
-
parameterCount
private int parameterCount(java.util.Collection<? extends javax.lang.model.element.VariableElement> params)
- Parameters:
params
- the parameters to get the count for.- Returns:
- the number of parameters.
-
create
static MessageMethodBuilder create(javax.annotation.processing.ProcessingEnvironment processingEnv)
-
create
static MessageMethodBuilder create(javax.annotation.processing.ProcessingEnvironment processingEnv, java.util.Properties expressionProperties)
-
-