| Package | Description | 
|---|---|
| java.lang.invoke | 
 The  
java.lang.invoke package contains dynamic language support provided directly by
 the Java core class libraries and virtual machine. | 
| Modifier and Type | Method and Description | 
|---|---|
static MethodHandle | 
MethodHandles.arrayElementGetter(Class<?> arrayClass)
Produces a method handle giving read access to elements of an array. 
 | 
static MethodHandle | 
MethodHandles.arrayElementSetter(Class<?> arrayClass)
Produces a method handle giving write access to elements of an array. 
 | 
MethodHandle | 
MethodHandle.asCollector(Class<?> arrayType,
           int arrayLength)
Makes an array-collecting method handle, which accepts a given number of trailing
 positional arguments and collects them into an array argument. 
 | 
MethodHandle | 
MethodHandle.asFixedArity()
Makes a fixed arity method handle which is otherwise
 equivalent to the current method handle. 
 | 
MethodHandle | 
MethodHandle.asSpreader(Class<?> arrayType,
          int arrayLength)
Makes an array-spreading method handle, which accepts a trailing array argument
 and spreads its elements as positional arguments. 
 | 
MethodHandle | 
MethodHandle.asType(MethodType newType)
Produces an adapter method handle which adapts the type of the
 current method handle to a new type. 
 | 
MethodHandle | 
MethodHandle.asVarargsCollector(Class<?> arrayType)
Makes a variable arity adapter which is able to accept
 any number of trailing positional arguments and collect them
 into an array argument. 
 | 
MethodHandle | 
MethodHandles.Lookup.bind(Object receiver,
    String name,
    MethodType type)
Produces an early-bound method handle for a non-static method. 
 | 
MethodHandle | 
MethodHandle.bindTo(Object x)
Binds a value  
x to the first argument of a method handle, without invoking it. | 
static MethodHandle | 
MethodHandles.catchException(MethodHandle target,
              Class<? extends Throwable> exType,
              MethodHandle handler)
Makes a method handle which adapts a target method handle,
 by running it inside an exception handler. 
 | 
static MethodHandle | 
MethodHandles.collectArguments(MethodHandle target,
                int pos,
                MethodHandle filter)
Adapts a target method handle by pre-processing
 a sub-sequence of its arguments with a filter (another method handle). 
 | 
static MethodHandle | 
MethodHandles.constant(Class<?> type,
        Object value)
Produces a method handle of the requested return type which returns the given
 constant value every time it is invoked. 
 | 
static MethodHandle | 
MethodHandles.dropArguments(MethodHandle target,
             int pos,
             Class<?>... valueTypes)
Produces a method handle which will discard some dummy arguments
 before calling some other specified target method handle. 
 | 
static MethodHandle | 
MethodHandles.dropArguments(MethodHandle target,
             int pos,
             List<Class<?>> valueTypes)
Produces a method handle which will discard some dummy arguments
 before calling some other specified target method handle. 
 | 
abstract MethodHandle | 
CallSite.dynamicInvoker()
Produces a method handle equivalent to an invokedynamic instruction
 which has been linked to this call site. 
 | 
MethodHandle | 
VolatileCallSite.dynamicInvoker()
Produces a method handle equivalent to an invokedynamic instruction
 which has been linked to this call site. 
 | 
MethodHandle | 
ConstantCallSite.dynamicInvoker()
Returns this call site's permanent target. 
 | 
MethodHandle | 
MutableCallSite.dynamicInvoker()
Produces a method handle equivalent to an invokedynamic instruction
 which has been linked to this call site. 
 | 
static MethodHandle | 
MethodHandles.exactInvoker(MethodType type)
Produces a special invoker method handle which can be used to
 invoke any method handle of the given type, as if by  
invokeExact. | 
static MethodHandle | 
MethodHandles.explicitCastArguments(MethodHandle target,
                     MethodType newType)
Produces a method handle which adapts the type of the
 given method handle to a new type by pairwise argument and return type conversion. 
 | 
static MethodHandle | 
MethodHandles.filterArguments(MethodHandle target,
               int pos,
               MethodHandle... filters)
Adapts a target method handle by pre-processing
 one or more of its arguments, each with its own unary filter function,
 and then calling the target with each pre-processed argument
 replaced by the result of its corresponding filter function. 
 | 
static MethodHandle | 
MethodHandles.filterReturnValue(MethodHandle target,
                 MethodHandle filter)
Adapts a target method handle by post-processing
 its return value (if any) with a filter (another method handle). 
 | 
MethodHandle | 
MethodHandles.Lookup.findConstructor(Class<?> refc,
               MethodType type)
Produces a method handle which creates an object and initializes it, using
 the constructor of the specified type. 
 | 
MethodHandle | 
MethodHandles.Lookup.findGetter(Class<?> refc,
          String name,
          Class<?> type)
Produces a method handle giving read access to a non-static field. 
 | 
MethodHandle | 
MethodHandles.Lookup.findSetter(Class<?> refc,
          String name,
          Class<?> type)
Produces a method handle giving write access to a non-static field. 
 | 
MethodHandle | 
MethodHandles.Lookup.findSpecial(Class<?> refc,
           String name,
           MethodType type,
           Class<?> specialCaller)
Produces an early-bound method handle for a virtual method. 
 | 
MethodHandle | 
MethodHandles.Lookup.findStatic(Class<?> refc,
          String name,
          MethodType type)
Produces a method handle for a static method. 
 | 
MethodHandle | 
MethodHandles.Lookup.findStaticGetter(Class<?> refc,
                String name,
                Class<?> type)
Produces a method handle giving read access to a static field. 
 | 
MethodHandle | 
MethodHandles.Lookup.findStaticSetter(Class<?> refc,
                String name,
                Class<?> type)
Produces a method handle giving write access to a static field. 
 | 
MethodHandle | 
MethodHandles.Lookup.findVirtual(Class<?> refc,
           String name,
           MethodType type)
Produces a method handle for a virtual method. 
 | 
static MethodHandle | 
MethodHandles.foldArguments(MethodHandle target,
             MethodHandle combiner)
Adapts a target method handle by pre-processing
 some of its arguments, and then calling the target with
 the result of the pre-processing, inserted into the original
 sequence of arguments. 
 | 
abstract MethodHandle | 
CallSite.getTarget()
Returns the target method of the call site, according to the
 behavior defined by this call site's specific class. 
 | 
MethodHandle | 
VolatileCallSite.getTarget()
Returns the target method of the call site, which behaves
 like a  
volatile field of the VolatileCallSite. | 
MethodHandle | 
ConstantCallSite.getTarget()
Returns the target method of the call site, which behaves
 like a  
final field of the ConstantCallSite. | 
MethodHandle | 
MutableCallSite.getTarget()
Returns the target method of the call site, which behaves
 like a normal field of the  
MutableCallSite. | 
MethodHandle | 
SwitchPoint.guardWithTest(MethodHandle target,
             MethodHandle fallback)
Returns a method handle which always delegates either to the target or the fallback. 
 | 
static MethodHandle | 
MethodHandles.guardWithTest(MethodHandle test,
             MethodHandle target,
             MethodHandle fallback)
Makes a method handle which adapts a target method handle,
 by guarding it with a test, a boolean-valued method handle. 
 | 
static MethodHandle | 
MethodHandles.identity(Class<?> type)
Produces a method handle which returns its sole argument when invoked. 
 | 
static MethodHandle | 
MethodHandles.insertArguments(MethodHandle target,
               int pos,
               Object... values)
Provides a target method handle with one or more bound arguments
 in advance of the method handle's invocation. 
 | 
static MethodHandle | 
MethodHandles.invoker(MethodType type)
Produces a special invoker method handle which can be used to
 invoke any method handle compatible with the given type, as if by  
invoke. | 
static MethodHandle | 
MethodHandles.permuteArguments(MethodHandle target,
                MethodType newType,
                int... reorder)
Produces a method handle which adapts the calling sequence of the
 given method handle to a new type, by reordering the arguments. 
 | 
static MethodHandle | 
MethodHandles.spreadInvoker(MethodType type,
             int leadingArgCount)
Produces a method handle which will invoke any method handle of the
 given  
type, with a given number of trailing arguments replaced by
 a single trailing Object[] array. | 
static MethodHandle | 
MethodHandles.throwException(Class<?> returnType,
              Class<? extends Throwable> exType)
Produces a method handle which will throw exceptions of the given  
exType. | 
MethodHandle | 
MethodHandles.Lookup.unreflect(Method m)
Makes a direct method handle
 to m, if the lookup class has permission. 
 | 
MethodHandle | 
MethodHandles.Lookup.unreflectConstructor(Constructor<?> c)
Produces a method handle for a reflected constructor. 
 | 
MethodHandle | 
MethodHandles.Lookup.unreflectGetter(Field f)
Produces a method handle giving read access to a reflected field. 
 | 
MethodHandle | 
MethodHandles.Lookup.unreflectSetter(Field f)
Produces a method handle giving write access to a reflected field. 
 | 
MethodHandle | 
MethodHandles.Lookup.unreflectSpecial(Method m,
                Class<?> specialCaller)
Produces a method handle for a reflected method. 
 | 
static MethodHandle | 
MethodHandleProxies.wrapperInstanceTarget(Object x)
Produces or recovers a target method handle which is behaviorally
 equivalent to the unique method of this wrapper instance. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static <T> T | 
MethodHandleProxies.asInterfaceInstance(Class<T> intfc,
                   MethodHandle target)
Produces an instance of the given single-method interface which redirects
 its calls to the given method handle. 
 | 
static MethodHandle | 
MethodHandles.catchException(MethodHandle target,
              Class<? extends Throwable> exType,
              MethodHandle handler)
Makes a method handle which adapts a target method handle,
 by running it inside an exception handler. 
 | 
static MethodHandle | 
MethodHandles.collectArguments(MethodHandle target,
                int pos,
                MethodHandle filter)
Adapts a target method handle by pre-processing
 a sub-sequence of its arguments with a filter (another method handle). 
 | 
static MethodHandle | 
MethodHandles.dropArguments(MethodHandle target,
             int pos,
             Class<?>... valueTypes)
Produces a method handle which will discard some dummy arguments
 before calling some other specified target method handle. 
 | 
static MethodHandle | 
MethodHandles.dropArguments(MethodHandle target,
             int pos,
             List<Class<?>> valueTypes)
Produces a method handle which will discard some dummy arguments
 before calling some other specified target method handle. 
 | 
static MethodHandle | 
MethodHandles.explicitCastArguments(MethodHandle target,
                     MethodType newType)
Produces a method handle which adapts the type of the
 given method handle to a new type by pairwise argument and return type conversion. 
 | 
static MethodHandle | 
MethodHandles.filterArguments(MethodHandle target,
               int pos,
               MethodHandle... filters)
Adapts a target method handle by pre-processing
 one or more of its arguments, each with its own unary filter function,
 and then calling the target with each pre-processed argument
 replaced by the result of its corresponding filter function. 
 | 
static MethodHandle | 
MethodHandles.filterArguments(MethodHandle target,
               int pos,
               MethodHandle... filters)
Adapts a target method handle by pre-processing
 one or more of its arguments, each with its own unary filter function,
 and then calling the target with each pre-processed argument
 replaced by the result of its corresponding filter function. 
 | 
static MethodHandle | 
MethodHandles.filterReturnValue(MethodHandle target,
                 MethodHandle filter)
Adapts a target method handle by post-processing
 its return value (if any) with a filter (another method handle). 
 | 
static MethodHandle | 
MethodHandles.foldArguments(MethodHandle target,
             MethodHandle combiner)
Adapts a target method handle by pre-processing
 some of its arguments, and then calling the target with
 the result of the pre-processing, inserted into the original
 sequence of arguments. 
 | 
MethodHandle | 
SwitchPoint.guardWithTest(MethodHandle target,
             MethodHandle fallback)
Returns a method handle which always delegates either to the target or the fallback. 
 | 
static MethodHandle | 
MethodHandles.guardWithTest(MethodHandle test,
             MethodHandle target,
             MethodHandle fallback)
Makes a method handle which adapts a target method handle,
 by guarding it with a test, a boolean-valued method handle. 
 | 
static MethodHandle | 
MethodHandles.insertArguments(MethodHandle target,
               int pos,
               Object... values)
Provides a target method handle with one or more bound arguments
 in advance of the method handle's invocation. 
 | 
static CallSite | 
LambdaMetafactory.metafactory(MethodHandles.Lookup caller,
           String invokedName,
           MethodType invokedType,
           MethodType samMethodType,
           MethodHandle implMethod,
           MethodType instantiatedMethodType)
Facilitates the creation of simple "function objects" that implement one
 or more interfaces by delegation to a provided  
MethodHandle,
 after appropriate type adaptation and partial evaluation of arguments. | 
static MethodHandle | 
MethodHandles.permuteArguments(MethodHandle target,
                MethodType newType,
                int... reorder)
Produces a method handle which adapts the calling sequence of the
 given method handle to a new type, by reordering the arguments. 
 | 
static <T extends Member> | 
MethodHandles.reflectAs(Class<T> expected,
         MethodHandle target)
Performs an unchecked "crack" of a
 direct method handle. 
 | 
MethodHandleInfo | 
MethodHandles.Lookup.revealDirect(MethodHandle target)
Cracks a direct method handle
 created by this lookup object or a similar one. 
 | 
abstract void | 
CallSite.setTarget(MethodHandle newTarget)
Updates the target method of this call site, according to the
 behavior defined by this call site's specific class. 
 | 
void | 
VolatileCallSite.setTarget(MethodHandle newTarget)
Updates the target method of this call site, as a volatile variable. 
 | 
void | 
ConstantCallSite.setTarget(MethodHandle ignore)
Always throws an  
UnsupportedOperationException. | 
void | 
MutableCallSite.setTarget(MethodHandle newTarget)
Updates the target method of this call site, as a normal variable. 
 | 
| Constructor and Description | 
|---|
ConstantCallSite(MethodHandle target)
Creates a call site with a permanent target. 
 | 
ConstantCallSite(MethodType targetType,
                MethodHandle createTargetHook)
Creates a call site with a permanent target, possibly bound to the call site itself. 
 | 
MutableCallSite(MethodHandle target)
Creates a call site object with an initial target method handle. 
 | 
VolatileCallSite(MethodHandle target)
Creates a call site with a volatile binding to its target. 
 | 
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates.  All rights reserved.