org.apache.felix.ipojo.manipulator.metadata.annotation
Class ClassMetadataCollector

java.lang.Object
  extended by org.objectweb.asm.commons.EmptyVisitor
      extended by org.apache.felix.ipojo.manipulator.metadata.annotation.ClassMetadataCollector
All Implemented Interfaces:
org.objectweb.asm.AnnotationVisitor, org.objectweb.asm.ClassVisitor, org.objectweb.asm.FieldVisitor, org.objectweb.asm.MethodVisitor

public class ClassMetadataCollector
extends org.objectweb.asm.commons.EmptyVisitor

Author:
Felix Project Team

Constructor Summary
ClassMetadataCollector(BindingRegistry registry, Reporter reporter)
           
 
Method Summary
 org.apache.felix.ipojo.metadata.Element getComponentMetadata()
          Build metadata.
 org.apache.felix.ipojo.metadata.Element getInstanceMetadata()
          Build instance metadata.
 void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
           
 org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
          Visit class annotations.
 void visitEnd()
          End of the visit : compute final elements.
 org.objectweb.asm.FieldVisitor visitField(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
          Visit a field.
 org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
          Visit a method.
 
Methods inherited from class org.objectweb.asm.commons.EmptyVisitor
visit, visitAnnotation, visitAnnotationDefault, visitArray, visitAttribute, visitCode, visitEnum, visitFieldInsn, visitFrame, visitIincInsn, visitInnerClass, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitOuterClass, visitParameterAnnotation, visitSource, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn, visitVarInsn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassMetadataCollector

public ClassMetadataCollector(BindingRegistry registry,
                              Reporter reporter)
Method Detail

getComponentMetadata

public org.apache.felix.ipojo.metadata.Element getComponentMetadata()
Build metadata. May be null if no "component type" was found.

Returns:
Build metadata. May be null if no "component type" was found.

getInstanceMetadata

public org.apache.felix.ipojo.metadata.Element getInstanceMetadata()
Build instance metadata. May be null if no "component type" was found.

Returns:
Build metadata. May be null if no "component type" was found.

visit

public void visit(int version,
                  int access,
                  java.lang.String name,
                  java.lang.String signature,
                  java.lang.String superName,
                  java.lang.String[] interfaces)
Specified by:
visit in interface org.objectweb.asm.ClassVisitor
Overrides:
visit in class org.objectweb.asm.commons.EmptyVisitor

visitAnnotation

public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc,
                                                           boolean visible)
Visit class annotations. This method detects @component and @provides annotations.

Specified by:
visitAnnotation in interface org.objectweb.asm.ClassVisitor
Specified by:
visitAnnotation in interface org.objectweb.asm.FieldVisitor
Specified by:
visitAnnotation in interface org.objectweb.asm.MethodVisitor
Overrides:
visitAnnotation in class org.objectweb.asm.commons.EmptyVisitor
Parameters:
desc - : annotation descriptor.
visible - : is the annotation visible at runtime.
Returns:
the annotation visitor.
See Also:
ClassAdapter.visitAnnotation(java.lang.String, boolean)

visitField

public org.objectweb.asm.FieldVisitor visitField(int access,
                                                 java.lang.String name,
                                                 java.lang.String desc,
                                                 java.lang.String signature,
                                                 java.lang.Object value)
Visit a field. Call the field collector visitor.

Specified by:
visitField in interface org.objectweb.asm.ClassVisitor
Overrides:
visitField in class org.objectweb.asm.commons.EmptyVisitor
Parameters:
access - : field access.
name - : field name
desc - : field descriptor
signature - : field signature
value - : field value (static field only)
Returns:
the field visitor.
See Also:
ClassAdapter.visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)

visitMethod

public org.objectweb.asm.MethodVisitor visitMethod(int access,
                                                   java.lang.String name,
                                                   java.lang.String desc,
                                                   java.lang.String signature,
                                                   java.lang.String[] exceptions)
Visit a method. Call the method collector visitor.

Specified by:
visitMethod in interface org.objectweb.asm.ClassVisitor
Overrides:
visitMethod in class org.objectweb.asm.commons.EmptyVisitor
Parameters:
access - : method access
name - : method name
desc - : method descriptor
signature - : method signature
exceptions - : method exceptions
Returns:
the Method Visitor.
See Also:
ClassAdapter.visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])

visitEnd

public void visitEnd()
End of the visit : compute final elements.

Specified by:
visitEnd in interface org.objectweb.asm.AnnotationVisitor
Specified by:
visitEnd in interface org.objectweb.asm.ClassVisitor
Specified by:
visitEnd in interface org.objectweb.asm.FieldVisitor
Specified by:
visitEnd in interface org.objectweb.asm.MethodVisitor
Overrides:
visitEnd in class org.objectweb.asm.commons.EmptyVisitor
See Also:
EmptyVisitor.visitEnd()


Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.