## jersey.repackaged.org.objectweb.asm
Class Attribute

    java.lang.Object
      jersey.repackaged.org.objectweb.asm.Attribute

    public class Attribute

extends java.lang.Object

A non standard class, field, method or code attribute.

Author:
  Eric Bruneton, Eugene Kuleshov

Field Summary
`java.lang.String` | `type` The type of this attribute.

Constructor Summary
`protected` | `Attribute(java.lang.String type)` Constructs a new empty attribute.

Method Summary
`protected Label[]` | `getLabels()` Returns the labels corresponding to this attribute.
`boolean` | `isCodeAttribute()` Returns `true` if this type of attribute is a code attribute.
`boolean` | `isUnknown()` Returns `true` if this type of attribute is unknown.
`protected Attribute` | `read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels)` Reads a `type` attribute.
`protected ByteVector` | `write(ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals)` Returns the byte array form of this attribute.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### type

    public final java.lang.String type

  The type of this attribute.

Constructor Detail

### Attribute

    protected Attribute(java.lang.String type)

  Constructs a new empty attribute.

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

Method Detail

### isUnknown

    public boolean isUnknown()

  Returns `true` if this type of attribute is unknown. The default implementation of this method always returns `true`.

  Returns:
    `true` if this type of attribute is unknown.

### isCodeAttribute

    public boolean isCodeAttribute()

  Returns `true` if this type of attribute is a code attribute.

  Returns:
    `true` if this type of attribute is a code attribute.

### getLabels

    protected Label[] getLabels()

  Returns the labels corresponding to this attribute.

  Returns:
    the labels corresponding to this attribute, or `null` if this attribute is not a code attribute that contains labels.

### read

    protected Attribute read(ClassReader cr,
                             int off,
                             int len,
                             char[] buf,
                             int codeOff,
                             Label[] labels)

  Reads a `type` attribute. This method must return a new `Attribute` object, of type `type`, corresponding to the `len` bytes starting at the given offset, in the given class reader.

  Parameters:
    `cr` - the class that contains the attribute to be read.
    `off` - index of the first byte of the attribute's content in `cr.b`. The 6 attribute header bytes, containing the type and the length of the attribute, are not taken into account here.
    `len` - the length of the attribute's content.
    `buf` - buffer to be used to call `readUTF8`, `readClass` or `readConst`.
    `codeOff` - index of the first byte of code's attribute content in `cr.b`, or -1 if the attribute to be read is not a code attribute. The 6 attribute header bytes, containing the type and the length of the attribute, are not taken into account here.
    `labels` - the labels of the method's code, or `null` if the attribute to be read is not a code attribute.
  Returns:
    a new `Attribute` object corresponding to the given bytes.

### write

    protected ByteVector write(ClassWriter cw,
                               byte[] code,
                               int len,
                               int maxStack,
                               int maxLocals)

  Returns the byte array form of this attribute.

  Parameters:
    `cw` - the class to which this attribute must be added. This parameter can be used to add to the constant pool of this class the items that corresponds to this attribute.
    `code` - the bytecode of the method corresponding to this code attribute, or `null` if this attribute is not a code attributes.
    `len` - the length of the bytecode of the method corresponding to this code attribute, or `null` if this attribute is not a code attribute.
    `maxStack` - the maximum stack size of the method corresponding to this code attribute, or -1 if this attribute is not a code attribute.
    `maxLocals` - the maximum number of local variables of the method corresponding to this code attribute, or -1 if this attribute is not a code attribute.
  Returns:
    the byte array form of this attribute.

Copyright © 2017 Oracle Corporation. All Rights Reserved.