本文整理匯總了Java中javax.lang.model.element.AnnotationValue.accept方法的典型用法代碼示例。如果您正苦於以下問題:Java AnnotationValue.accept方法的具體用法?Java AnnotationValue.accept怎麽用?Java AnnotationValue.accept使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.lang.model.element.AnnotationValue
的用法示例。
在下文中一共展示了AnnotationValue.accept方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: resolveAnnotationValue
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
@SuppressWarnings({"unchecked"})
private static <T> T resolveAnnotationValue(Class<T> expectedType, AnnotationValue value) {
if (value == null) {
return null;
}
Object unboxedValue = value.accept(new AnnotationValueVisitorImpl(), null);
if (unboxedValue != null) {
if (expectedType == TypeMirror.class && unboxedValue instanceof String) {
return null;
}
if (!expectedType.isAssignableFrom(unboxedValue.getClass())) {
throw new ClassCastException(unboxedValue.getClass().getName() + " not assignable from " + expectedType.getName());
}
}
return (T) unboxedValue;
}
示例2: getTypesFromAnnotation
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
/**
* At compile time classes can not be obtained from annotation directly.
* This method extracts class information from annotation mirrors.
*
* @param element element annotated with {@link SqlSource} annotation
* @param isReq true for request, false for result parameters
* @return list of class names from {@link SqlSource} annotation
*/
private List<String> getTypesFromAnnotation(Element element, boolean isReq) {
TypeMirror sqlSourceTypeMirror = processingEnv.getElementUtils().getTypeElement(SqlSource.class.getName()).asType();
//method names from SqlSource annotation
String methodName = isReq ? "reqImpl" : "resImpl";
List<? extends AnnotationMirror> annotationMirrors = element.getAnnotationMirrors();
List<String> typeNames = new ArrayList<>();
for (AnnotationMirror am : annotationMirrors) {
if (!am.getAnnotationType().equals(sqlSourceTypeMirror)) {
continue;
}
for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : am.getElementValues().entrySet()) {
if (!methodName.equals(entry.getKey().getSimpleName().toString())) {
continue;
}
AnnotationValue impResVal = entry.getValue();
impResVal.accept(new SimpleAnnotationValueVisitor8<Void, Void>() {
@Override
public Void visitArray(List<? extends AnnotationValue> list, Void s) {
for (AnnotationValue val : list) {
TypeMirror typeMirror = (TypeMirror) val.getValue();
typeNames.add(typeMirror.toString());
}
return null;
}
}, null);
break;
}
}
return typeNames;
}
示例3: visitValue
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
void visitValue(AnnotationValue value) {
value.accept(this, null);
}
示例4: isAnnotation
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
public static boolean isAnnotation(final AnnotationValue annotationValue) {
return annotationValue.accept(IsAnnotationAnnotationValueVisitor.INSTANCE, null);
}
示例5: asAnnotation
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
public static AnnotationMirror asAnnotation(final AnnotationValue annotationValue) {
return annotationValue.accept(AnnotationAnnotationValueVisitor.INSTANCE, null);
}
示例6: asString
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
public static String asString(final AnnotationValue annotationValue) {
return annotationValue.accept(StringAnnotationValueVisitor.INSTANCE, null);
}
示例7: isArray
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
public static boolean isArray(final AnnotationValue annotationValue) {
return annotationValue.accept(IsArrayAnnotationValueVisitor.INSTANCE, null);
}
示例8: asArray
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
public static List<? extends AnnotationValue> asArray(final AnnotationValue annotationValue) {
return annotationValue.accept(ArrayAnnotationValueVisitor.INSTANCE, null);
}
示例9: asType
import javax.lang.model.element.AnnotationValue; //導入方法依賴的package包/類
public static TypeMirror asType(AnnotationValue annotationValue) {
return annotationValue.accept(TypeAnnotationValueVisitor.INSTANCE, null);
}