Class Unknown

java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.Unknown
All Implemented Interfaces:
Cloneable, Node

public final class Unknown extends Attribute
This class represents a reference to an unknown (i.e., application-specific) attribute of a class. It is instantiated from the Attribute.readAttribute(java.io.DataInput, ConstantPool) method. Applications that need to read in application-specific attributes should create an UnknownAttributeReader implementation and attach it via Attribute.addAttributeReader(String, UnknownAttributeReader).
See Also:
  • Constructor Details

    • Unknown

      public Unknown(int nameIndex, int length, byte[] bytes, ConstantPool constantPool)
      Constructs a new instance for a non-standard attribute.
      Parameters:
      nameIndex - Index in constant pool
      length - Content length in bytes
      bytes - Attribute contents
      constantPool - Array of constants
    • Unknown

      public Unknown(Unknown unknown)
      Constructs a new instance from another instance. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.
      Parameters:
      unknown - Source.
  • Method Details

    • accept

      public void accept(Visitor v)
      Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
      Specified by:
      accept in interface Node
      Specified by:
      accept in class Attribute
      Parameters:
      v - Visitor object
    • copy

      public Attribute copy(ConstantPool constantPool)
      Specified by:
      copy in class Attribute
      Parameters:
      constantPool - constant pool to save.
      Returns:
      deep copy of this attribute
    • dump

      public void dump(DataOutputStream file) throws IOException
      Dumps unknown bytes to file stream.
      Overrides:
      dump in class Attribute
      Parameters:
      file - Output file stream
      Throws:
      IOException - if an I/O error occurs.
    • getBytes

      public byte[] getBytes()
      Returns:
      data bytes.
    • getName

      public String getName()
      Overrides:
      getName in class Attribute
      Returns:
      name of attribute.
    • setBytes

      public void setBytes(byte[] bytes)
      Parameters:
      bytes - the bytes to set
    • toString

      public String toString()
      Overrides:
      toString in class Attribute
      Returns:
      String representation.