MethodHandleTransformer
public class DefaultInternalObjectFilter extends Object implements MethodHandleTransformer
DynamicLinkerFactory.setInternalObjectsFilter(MethodHandleTransformer)
that delegates to a pair of filtering method handles. It takes a method
handle of Object(Object)
type for filtering parameter values and
another one of the same type for filtering return values. It applies them as
parameter and return value filters on method handles passed to its
transform(MethodHandle)
method, on those parameters and return values
that are declared to have type Object
. Also handles
method handles that support variable
arity calls
with a last Object[]
parameter. You can broadly think of
the parameter filter as being a wrapping method for exposing internal runtime
objects wrapped into an adapter with some public interface, and the return
value filter as being its inverse unwrapping method.Constructor | Description |
---|---|
DefaultInternalObjectFilter(MethodHandle parameterFilter,
MethodHandle returnFilter) |
Creates a new filter.
|
Modifier and Type | Method | Description |
---|---|---|
MethodHandle |
transform(MethodHandle target) |
Transforms a method handle.
|
public DefaultInternalObjectFilter(MethodHandle parameterFilter, MethodHandle returnFilter)
parameterFilter
- the filter for method parameters. Must be of type
Object(Object)
, or null
.returnFilter
- the filter for return values. Must be of type
Object(Object)
, or null
.IllegalArgumentException
- if one or both filters are not of the
expected type.public MethodHandle transform(MethodHandle target)
MethodHandleTransformer
transform
in interface MethodHandleTransformer
target
- the method handle being transformed. Submit a bug or feature
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 2015, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-Ubuntu+0-9b151-2