in src/main/java/com/amazonaws/eclipse/simpleworkflow/asynchrony/annotationprocessor/ProcessorUtils.java [449:512]
public static void writeAnnotationValue(final StringBuilder builder, AnnotationValue annotationValue) {
SimpleAnnotationValueVisitor6<Void, Void> annotationValueWriter = new SimpleAnnotationValueVisitor6<Void, Void>() {
@Override
public Void visitString(String value, Void processingEnv) {
builder.append("\"");
builder.append(value);
builder.append("\"");
return null;
}
@Override
public Void visitAnnotation(AnnotationMirror value, Void processingEnv) {
writeAnnotation(builder, (AnnotationMirror) value);
return null;
}
@Override
public Void visitType(TypeMirror value, Void processingEnv) {
builder.append(value.toString());
builder.append(".class");
return null;
}
@Override
public Void visitEnumConstant(VariableElement value, Void processingEnv) {
String enumTypeName = value.asType().toString();
String simpleName = value.getSimpleName().toString();
builder.append(enumTypeName + "." + simpleName);
return null;
}
@Override
public Void visitArray(List<? extends AnnotationValue> value, Void processingEnv) {
builder.append("{ ");
boolean isFirst = true;
for (AnnotationValue val : (Collection<AnnotationValue>) value) {
if (isFirst) {
isFirst = false;
}
else {
builder.append(", ");
}
writeAnnotationValue(builder, val);
}
builder.append(" }");
return null;
}
@Override
protected Void defaultAction(Object value, Void processingEnv) {
builder.append(value.toString());
return null;
}
};
annotationValue.accept(annotationValueWriter, null);
}