public static void writeAnnotationValue()

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);
    }