注釈付きクラスの祖先のいずれかが実際に であるかどうかを確認したいandroid.support.v4.app.Fragment
。
現在、私はそれを行うための再帰的な方法を書きました。
これを行うより良い方法があるのだろうか?
主な目的は、注釈がクラスに追加されるのを抑制することです。
私も使っていますsquareup.javapoet
。
private boolean isSubClass(TypeElement typeElement, ClassName superClassName) {
TypeElement superTypeElement = (TypeElement) ((DeclaredType) typeElement.getSuperclass()).asElement();
if (superTypeElement.toString().equals(Object.class.getName())) {
return false;
} else if (superTypeElement.toString().equals(superClassName.reflectionName())) {
return true;
}
return isSubClass(superTypeElement, superClassName);
}