org.mvel2.asm
Class ConstantDynamic

java.lang.Object
  extended by org.mvel2.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
ConstantDynamic(String name, String descriptor, Handle bootstrapMethod, Object... bootstrapMethodArguments)
          Constructs a new ConstantDynamic.
 
Method Summary
 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 Detail

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 Detail

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


Copyright © 2001–2020 JBoss by Red Hat. All rights reserved.