org.apache.bcel.classfile

## Class ConstantString

- java.lang.Object
- - org.apache.bcel.classfile.Constant
  - - org.apache.bcel.classfile.ConstantString

- All Implemented Interfaces:
    Cloneable, ConstantObject, Node

      public final class ConstantString
      extends Constant
      implements ConstantObject

  This class is derived from the abstract `Constant` and represents a reference to a String object.
  See Also:
    `Constant`

- - ### Field Summary

    - ### Fields inherited from class org.apache.bcel.classfile.Constant

      `tag`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConstantString(ConstantString c)` Initialize from another object.
    `ConstantString(int stringIndex)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
    `void` | `dump(DataOutputStream file)` Dump constant field reference to file stream in binary format.
    `String` | `getBytes(ConstantPool cp)`
    `Object` | `getConstantValue(ConstantPool cp)`
    `int` | `getStringIndex()`
    `void` | `setStringIndex(int stringIndex)`
    `String` | `toString()`

    - ### Methods inherited from class org.apache.bcel.classfile.Constant

      `clone, copy, equals, getComparator, getTag, hashCode, readConstant, setComparator`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ConstantString

          public ConstantString(ConstantString c)

      Initialize from another object.

    - #### ConstantString

          public ConstantString(int stringIndex)

      Parameters:
        `stringIndex` - Index of Constant_Utf8 in constant pool

  - ### Method Detail

    - #### 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 `Constant`
      Parameters:
        `v` - Visitor object

    - #### dump

          public void dump(DataOutputStream file)
                    throws IOException

      Dump constant field reference to file stream in binary format.
      Specified by:
        `dump` in class `Constant`
      Parameters:
        `file` - Output file stream
      Throws:
        `IOException` - if an I/O error occurs.

    - #### getBytes

          public String getBytes(ConstantPool cp)

      Returns:
        dereferenced string

    - #### getConstantValue

          public Object getConstantValue(ConstantPool cp)

      Specified by:
        `getConstantValue` in interface `ConstantObject`
      Returns:
        String object

    - #### getStringIndex

          public int getStringIndex()

      Returns:
        Index in constant pool of the string (ConstantUtf8).

    - #### setStringIndex

          public void setStringIndex(int stringIndex)

      Parameters:
        `stringIndex` - the index into the constant of the string value

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Constant`
      Returns:
        String representation.

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