static Object getMessage(ProcessingEnvironment processingEnv, String messageName) { Object currentMessage = null; try { currentMessage = Message.valueOf(messageName); } catch (IllegalArgumentException ex) { TypeElement typeElement = processingEnv.getElementUtils().getTypeElement(messageName); TypeElement messageElement = processingEnv.getElementUtils().getTypeElement(Message.class.getName()); if (typeElement != null && processingEnv.getTypeUtils().isAssignable(typeElement.asType(), messageElement.asType())) { currentMessage = messageName; } } return currentMessage; }
protected static Message findMessage(Method method) { CompilerAsserts.neverPartOfCompilation(); MethodMessage mm = method.getAnnotation(MethodMessage.class); if (mm == null) { return null; } Message message = Message.valueOf(mm.message()); if (message == Message.WRITE && method.getParameterTypes().length != 1) { throw new IllegalStateException("Method needs to have a single argument to handle WRITE message " + method); } return message; }