JBoss Logging I18n Annotation Processor 1.1.0.Final

org.jboss.logging.processor.util
Class ElementHelper

java.lang.Object
  extended by org.jboss.logging.processor.util.ElementHelper

public final class ElementHelper
extends Object

An utility class to work with element.

Author:
Kevin Pollet - SERLI - (kevin.pollet@serli.com), James R. Perkins

Method Summary
static Collection<ExecutableElement> findByName(Collection<ExecutableElement> methods, Name methodName)
          Returns a collection of methods with the same name.
static Collection<ExecutableElement> findByName(Collection<ExecutableElement> methods, Name methodName, int paramCount)
          Returns a collection of methods with the same name.
static Element fromMessageObject(MessageObject object)
          If the MessageObject.reference() is an instance of Element, then the value is returned, otherwise null is returned.
static AnnotationValue getAnnotationValue(Element element, String annotation, String fieldName)
          Returns the annotation value for the annotation.
static String getPrimaryClassNamePrefix(TypeElement element)
          Returns the primary class simple name prefix for an element who represents a MessageBundle or MessageLogger interface.
static boolean hasCause(Collection<? extends VariableElement> params)
          Checks to see if there is a cause parameter.
static boolean inheritsMessage(Collection<ExecutableElement> methods, ExecutableElement method)
          Checks to see if the method has or inherits a Message annotation.
static boolean isAnnotatedWith(Element element, Class<? extends Annotation> clazz)
          Check if an element is annotated with the given annotation.
static boolean isAnnotatedWith(Element element, String fqcn)
          Check if an element is annotated with the given annotation.
static boolean isOverloaded(Collection<ExecutableElement> methods, ExecutableElement method)
          Checks to see if the method is overloaded.
static int parameterCount(Collection<? extends VariableElement> params)
          Returns the number of parameters excluding the Cause parameter and any Param parameters if found.
static String typeToString(Class<?> type)
          Converts a class type to a string recognizable by the Elements.getTypeElement(CharSequence).
static String typeToString(String qualifiedType)
          Converts a qualified type name to a string recognizable by the Elements.getTypeElement(CharSequence).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isAnnotatedWith

public static boolean isAnnotatedWith(Element element,
                                      Class<? extends Annotation> clazz)
Check if an element is annotated with the given annotation.

Parameters:
element - the element to look for the annotation on.
clazz - the annotation class
Returns:
true if the element is annotated, otherwise false
Throws:
IllegalArgumentException - if element parameter is null

isAnnotatedWith

public static boolean isAnnotatedWith(Element element,
                                      String fqcn)
Check if an element is annotated with the given annotation.

Parameters:
element - the element to look for the annotation on.
fqcn - the fully qualified class name of the annotation
Returns:
true if the element is annotated, otherwise false
Throws:
IllegalArgumentException - if element parameter is null

getAnnotationValue

public static AnnotationValue getAnnotationValue(Element element,
                                                 String annotation,
                                                 String fieldName)
Returns the annotation value for the annotation.

Note that the default value of the annotation is not returned.

Parameters:
element - the element the annotation is present on
annotation - the fully qualified annotation name
fieldName - the name of the field/method of the value
Returns:
the value if found or null if the annotation was not present or the value was not defined

getPrimaryClassNamePrefix

public static String getPrimaryClassNamePrefix(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:
IllegalArgumentException - if element is null or the element is not an interface

findByName

public static Collection<ExecutableElement> findByName(Collection<ExecutableElement> methods,
                                                       Name methodName)
Returns a collection of methods with the same name.

Parameters:
methods - the methods to process.
methodName - the method name to find.
Returns:
a collection of methods with the same name.

findByName

public static Collection<ExecutableElement> findByName(Collection<ExecutableElement> methods,
                                                       Name methodName,
                                                       int paramCount)
Returns a collection of methods with the same name.

Parameters:
methods - the methods to process.
methodName - the method name to find.
paramCount - the number of parameters the method must have.
Returns:
a collection of methods with the same name.

hasCause

public static boolean hasCause(Collection<? extends VariableElement> params)
Checks to see if there is a cause parameter.

Parameters:
params - the parameters to check.
Returns:
true if there is a cause, otherwise false.

parameterCount

public static int parameterCount(Collection<? extends VariableElement> params)
Returns the number of parameters excluding the Cause parameter and any Param parameters if found.

Parameters:
params - the parameters to get the count for.
Returns:
the number of parameters.

inheritsMessage

public static boolean inheritsMessage(Collection<ExecutableElement> methods,
                                      ExecutableElement method)
Checks to see if the method has or inherits a Message annotation.

Parameters:
methods - the method to search.
method - the method to check.
Returns:
true if the method has or inherits a message annotation, otherwise false.

isOverloaded

public static boolean isOverloaded(Collection<ExecutableElement> methods,
                                   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 with Cause or Param are not counted.

Parameters:
methods - the method to search.
method - the method to check.
Returns:
true if the method is overloaded, otherwise false.

typeToString

public static String typeToString(Class<?> type)
Converts a class type to a string recognizable by the Elements.getTypeElement(CharSequence). Essentially replaces any $'s to . (dots).

Parameters:
type - the type to convert.
Returns:
the qualified name of the type.

typeToString

public static String typeToString(String qualifiedType)
Converts a qualified type name to a string recognizable by the Elements.getTypeElement(CharSequence). Essentially replaces any $'s to . (dots).

Parameters:
qualifiedType - the qualified type name.
Returns:
the qualified name of the type.

fromMessageObject

public static Element fromMessageObject(MessageObject object)
If the MessageObject.reference() is an instance of Element, then the value is returned, otherwise null is returned.

Parameters:
object - the object to check the reference on
Returns:
the element reference or null

JBoss Logging I18n Annotation Processor 1.1.0.Final

Copyright © 2013 JBoss by Red Hat. All Rights Reserved.