@Override
public void processTypeElement(final TypeElement annotation, final TypeElement element,
final Collection<ExecutableElement> methods) {
try {
final String interfaceName = elementUtils().getBinaryName(element).toString();
final MessageLogger messageLogger = element.getAnnotation(MessageLogger.class);
final MessageBundle messageBundle = element.getAnnotation(MessageBundle.class);
if (messageLogger != null) {
createClass(new MessageLoggerImplementor(interfaceName, messageLogger.projectCode(),extendsBasicLogger(element)), methods);
}
if (messageBundle != null) {
createClass(new MessageBundleImplementor(interfaceName, messageBundle.projectCode()), methods);
}
} catch (IOException e) {
logger().error(element, e);
} catch (IllegalStateException e) {
logger().error(element, e);
}
}