List of usage examples for org.objectweb.asm AnnotationVisitor AnnotationVisitor
AnnotationVisitor
From source file:org.boretti.drools.integration.drools5.DroolsAbstractMethodVisitor.java
License:Open Source License
@Override public AnnotationVisitor visitAnnotation(String name, boolean arg1) { final AnnotationVisitor p = super.visitAnnotation(name, arg1); if (Type.getType(name).getClassName().equals(Type.getType(DroolsPreCondition.class).getClassName())) { havePreCondition = true;//from www .j a v a2 s.c o m return new AnnotationVisitor() { @Override public void visit(String name, Object value) { if (name.equals("resourceName")) preResourceName = (String) value; else if (name.equals("error")) preError = (Type) value; } @Override public AnnotationVisitor visitAnnotation(String arg0, String arg1) { return this; } @Override public AnnotationVisitor visitArray(String name) { return this; } @Override public void visitEnd() { p.visitEnd(); } @Override public void visitEnum(String name, String desc, String value) { if (name.equals("type")) preType = value; } }; } else if (Type.getType(name).getClassName() .equals(Type.getType(DroolsPostCondition.class).getClassName())) { havePostCondition = true; return new AnnotationVisitor() { @Override public void visit(String name, Object value) { if (name.equals("resourceName")) postResourceName = (String) value; else if (name.equals("error")) postError = (Type) value; else if (name.equals("onException")) postOnException = (Boolean) value; } @Override public AnnotationVisitor visitAnnotation(String arg0, String arg1) { return this; } @Override public AnnotationVisitor visitArray(String name) { return this; } @Override public void visitEnd() { p.visitEnd(); } @Override public void visitEnum(String name, String desc, String value) { if (name.equals("type")) postType = value; } }; } return p; }
From source file:org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.java
License:Open Source License
@Override public AnnotationVisitor visitAnnotation(String desc, boolean isVisible) { if (desc.equals(TFENHANCED_ANNO_DESC)) { // Consume the TFEnhanced annotation here. We'll write out a new // one above. return new AnnotationVisitor() { public void visit(String name, Object value) { }/* ww w.j a v a 2 s . c om*/ public void visitEnum(String name, String desc, String value) { if (name.equals("stage")) { present[0] = Enum.valueOf(TraceEnhanceLevel.class, value); } } public AnnotationVisitor visitAnnotation(String name, String desc) { return null; } public AnnotationVisitor visitArray(String name) { return null; } public void visitEnd() { } }; } else { final AnnotationVisitor av = super.visitAnnotation(desc, isVisible); return av; } }