Ответ 1
Ну, я не знаю, это правильный способ сделать это.
Было бы хорошо, если бы кто-то, кто действительно понимает этот API, сказал мне.
Но хорошо, швы работать.
public class SomeClass {
private final ProcessingEnvironment pe = /* get it somewhere */;
private final Types typeUtils = pe.getTypeUtils();
public TypeElement getExtracted(VariableElement ve) {
TypeMirror typeMirror = ve.asType();
Element element = typeUtils.asElement(typeMirror);
// instanceof implies null-ckeck
return (element instanceof TypeElement)
? (TypeElement)element : null;
}
}
Кажется, что класс Types
должен быть получен из текущего ProcessingEnvironment
, потому что от него зависят его внутренние элементы, поэтому это не обычный класс полезности.