注释处理器:有没有办法知道注释类是否扩展了特定的类?

时间:2017-06-22 02:46:49

标签: java android android-studio java-annotations

我想检查任何带注释的类的祖先是否真的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);
}

0 个答案:

没有答案