Package org.springframework.asm

# Class ConstantDynamic

java.lang.Object
org.springframework.asm.ConstantDynamic

public final class ConstantDynamic extends Object
A constant whose value is computed at runtime, with a bootstrap method.

Author:
  Remi Forax

## Constructor Summary

Constructors
Constructor
Description
`ConstantDynamic(String name, String descriptor, Handle bootstrapMethod, Object... bootstrapMethodArguments)`
Constructs a new `ConstantDynamic`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object object)`
`Handle`
`getBootstrapMethod()`
Returns the bootstrap method used to compute the value of this constant.
`Object`
`getBootstrapMethodArgument(int index)`
Returns an argument passed to the bootstrap method, in order to compute the value of this constant.
`int`
`getBootstrapMethodArgumentCount()`
Returns the number of arguments passed to the bootstrap method, in order to compute the value of this constant.
`String`
`getDescriptor()`
Returns the type of this constant.
`String`
`getName()`
Returns the name of this constant.
`int`
`getSize()`
Returns the size of this constant.
`int`
`hashCode()`
`String`
`toString()`

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

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

## Constructor Details

### ConstantDynamic

public ConstantDynamic(String name, String descriptor, Handle bootstrapMethod, Object... bootstrapMethodArguments)
Constructs a new `ConstantDynamic`.

Parameters:
  `name` - the constant name (can be arbitrary).
  `descriptor` - the constant type (must be a field descriptor).
  `bootstrapMethod` - the bootstrap method to use to compute the constant value at runtime.
  `bootstrapMethodArguments` - the arguments to pass to the bootstrap method, in order to compute the constant value at runtime.

## Method Details

### getName

public String getName()
Returns the name of this constant.

Returns:
  the name of this constant.

### getDescriptor

public String getDescriptor()
Returns the type of this constant.

Returns:
  the type of this constant, as a field descriptor.

### getBootstrapMethod

public Handle getBootstrapMethod()
Returns the bootstrap method used to compute the value of this constant.

Returns:
  the bootstrap method used to compute the value of this constant.

### getBootstrapMethodArgumentCount

public int getBootstrapMethodArgumentCount()
Returns the number of arguments passed to the bootstrap method, in order to compute the value of this constant.

Returns:
  the number of arguments passed to the bootstrap method, in order to compute the value of this constant.

### getBootstrapMethodArgument

public Object getBootstrapMethodArgument(int index)
Returns an argument passed to the bootstrap method, in order to compute the value of this constant.

Parameters:
  `index` - an argument index, between 0 and `getBootstrapMethodArgumentCount()` (exclusive).
Returns:
  the argument passed to the bootstrap method, with the given index.

### getSize

public int getSize()
Returns the size of this constant.

Returns:
  the size of this constant, i.e., 2 for `long` and `double`, 1 otherwise.

### equals

public boolean equals(Object object)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`