org.apache.felix.ipojo.manipulation

## Class ClassChecker.ArrayAttribute

- java.lang.Object
- - org.objectweb.asm.AnnotationVisitor
  - - org.apache.felix.ipojo.manipulation.ClassChecker.ArrayAttribute

Enclosing class:
  ClassChecker

    public class ClassChecker.ArrayAttribute
    extends org.objectweb.asm.AnnotationVisitor

Describes an array attribute. This class is able to visit an annotation array attribute, and to recreate this array on another annotation.

Author:
  Felix Project Team

### Field Summary

### Fields inherited from class org.objectweb.asm.AnnotationVisitor

`api, av`

### Constructor Summary

Constructors
Constructor and Description
`ArrayAttribute(String name)` Creates an array attribute.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `visit(org.objectweb.asm.AnnotationVisitor av)` Recreates the visited array attribute.
`void` `visit(String arg0, Object arg1)` Visits the content of the array.
`org.objectweb.asm.AnnotationVisitor` `visitAnnotation(String arg0, String arg1)` Visits the content of the array.
`org.objectweb.asm.AnnotationVisitor` `visitArray(String arg0)` Visits the content of the array.
`void` `visitEnd()` End of the array attribute visit.
`void` `visitEnum(String arg0, String arg1, String arg2)` Visits the content of the array.

### Methods inherited from class org.objectweb.asm.AnnotationVisitor

`getDelegate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ArrayAttribute

    public ArrayAttribute(String name)

Creates an array attribute.

Parameters:
  `name` - the name of the attribute.

### Method Detail

#### visit

    public void visit(String arg0,
                      Object arg1)

Visits the content of the array. This method is called for simple values.

Overrides:
  `visit` in class `org.objectweb.asm.AnnotationVisitor`
Parameters:
  `arg0` - `null`
  `arg1` - the value
See Also:
  `AnnotationVisitor.visit(java.lang.String, java.lang.Object)`

#### visitAnnotation

    public org.objectweb.asm.AnnotationVisitor visitAnnotation(String arg0,
                                                               String arg1)

Visits the content of the array. This method is called for nested annotations (annotations contained in the array).

Overrides:
  `visitAnnotation` in class `org.objectweb.asm.AnnotationVisitor`
Parameters:
  `arg0` - `null`
  `arg1` - the annotation descriptor
Returns:
  an `ClassChecker.AnnotationDescriptor` which creates a copy of the contained annotation.
See Also:
  `AnnotationVisitor.visitAnnotation(String, String)`

#### visitArray

    public org.objectweb.asm.AnnotationVisitor visitArray(String arg0)

Visits the content of the array. This method is called for nested arrays (arrays contained in the array).

Overrides:
  `visitArray` in class `org.objectweb.asm.AnnotationVisitor`
Parameters:
  `arg0` - `null`
Returns:
  an `AnnotationVisitor` which creates a copy of the contained array.
See Also:
  `AnnotationVisitor.visitArray(String)`

#### visitEnd

    public void visitEnd()

End of the array attribute visit.

Overrides:
  `visitEnd` in class `org.objectweb.asm.AnnotationVisitor`
See Also:
  `AnnotationVisitor.visitEnd()`

#### visitEnum

    public void visitEnum(String arg0,
                          String arg1,
                          String arg2)

Visits the content of the array. This method is called for enumeration values.

Overrides:
  `visitEnum` in class `org.objectweb.asm.AnnotationVisitor`
Parameters:
  `arg0` - `null`
  `arg1` - the enumeration descriptor
  `arg2` - the value
See Also:
  `AnnotationVisitor.visitEnum(String, String, String)`

#### visit

    public void visit(org.objectweb.asm.AnnotationVisitor av)

Recreates the visited array attribute. This method handle the generation of the object embedded in the array.

Parameters:
  `av` - the annotation visitor on which the array attribute needs to be injected.