org.apache.bcel.classfile

## Interface UnknownAttributeReader

-     public interface UnknownAttributeReader

  Unknown (non-standard) attributes may be read via user-defined factory objects that can be registered with the Attribute.addAttributeReader method. These factory objects should implement this interface.
  Since:
    6.0
  See Also:
    `Attribute`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Attribute` | `createAttribute(int name_index, int length, DataInput file, ConstantPool constant_pool)` When this attribute reader is added via the static method Attribute.addAttributeReader, an attribute name is associated with it.

- - ### Method Detail

    - #### createAttribute

          Attribute createAttribute(int name_index,
                                    int length,
                                    DataInput file,
                                    ConstantPool constant_pool)

      When this attribute reader is added via the static method Attribute.addAttributeReader, an attribute name is associated with it. As the class file parser parses attributes, it will call various AttributeReaders based on the name of the attributes it is constructing.
      Parameters:
        `name_index` - An index into the constant pool, indexing a ConstantUtf8 that represents the name of the attribute.
        `length` - The length of the data contained in the attribute. This is written into the constant pool and should agree with what the factory expects the length to be.
        `file` - This is the data input that the factory needs to read its data from.
        `constant_pool` - This is the constant pool associated with the Attribute that we are constructing.
      Returns:
        The user-defined AttributeReader should take this data and use it to construct an attribute. In the case of errors, a null can be returned which will cause the parsing of the class file to fail.
      See Also:
        `Attribute.addAttributeReader(String, UnknownAttributeReader)`

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.