/**
* 繰り返されたアノテーションかどうか判定する。
* <p>属性「value」に、繰り返しのアノテーション{@link Repeatable}が付与されている
* アノテーションの配列を保持しているかどうかで判定する。</p>
* @param targetAnno
* @return
*/
private boolean isRepeated(final Annotation targetAnno) {
try {
final Method method = targetAnno.getClass().getMethod("value");
// 値のクラスタイプがアノテーションの配列かどうかのチェック
final Class<?> returnType = method.getReturnType();
if(!(returnType.isArray() && Annotation.class.isAssignableFrom(returnType.getComponentType()))) {
return false;
}
final Annotation[] annos = (Annotation[]) method.invoke(targetAnno);
if(annos.length == 0) {
return false;
}
// @Repetableアノテーションが付与されているかどうか
if(annos[0].annotationType().getAnnotation(Repeatable.class) != null) {
return true;
}
} catch (Exception e) {
}
return false;
}
AnnotationExpander.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:super-csv-annotation
作者:
评论列表
文章目录