public class SmartBinder
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private Binder |
binder |
private java.util.List<Signature> |
signatures |
private Signature |
start |
| Modifier | Constructor and Description |
|---|---|
private |
SmartBinder(Signature start,
Binder binder) |
private |
SmartBinder(SmartBinder original,
Signature next,
Binder binder) |
| Modifier and Type | Method and Description |
|---|---|
SmartBinder |
append(java.lang.String[] names,
java.lang.Class[] types,
java.lang.Object... values) |
SmartBinder |
append(java.lang.String name,
boolean value) |
SmartBinder |
append(java.lang.String name,
byte value) |
SmartBinder |
append(java.lang.String name,
char value) |
SmartBinder |
append(java.lang.String name,
double value) |
SmartBinder |
append(java.lang.String name,
float value) |
SmartBinder |
append(java.lang.String name,
int value) |
SmartBinder |
append(java.lang.String name,
long value) |
SmartBinder |
append(java.lang.String name,
java.lang.Object value) |
SmartBinder |
append(java.lang.String name,
short value) |
SmartHandle |
arrayGet() |
SmartHandle |
arraySet() |
Binder |
binder() |
SmartBinder |
cast(java.lang.Class returnType,
java.lang.Class... argTypes) |
SmartBinder |
cast(Signature target) |
SmartBinder |
castArg(java.lang.String name,
java.lang.Class type) |
SmartBinder |
castReturn(java.lang.Class type) |
SmartBinder |
exclude(java.lang.String... excludeNames)
Permute all parameters except the names given.
|
SmartBinder |
filterReturn(java.lang.invoke.MethodHandle filter) |
SmartBinder |
filterReturn(SmartHandle filter) |
SmartBinder |
fold(java.lang.String newName,
java.lang.invoke.MethodHandle function) |
SmartBinder |
fold(java.lang.String newName,
SmartHandle function) |
SmartBinder |
foldStatic(java.lang.String newName,
java.lang.Class target,
java.lang.String method) |
SmartBinder |
foldStatic(java.lang.String newName,
java.lang.invoke.MethodHandles.Lookup lookup,
java.lang.Class target,
java.lang.String method) |
SmartBinder |
foldVirtual(java.lang.String newName,
java.lang.invoke.MethodHandles.Lookup lookup,
java.lang.String method) |
SmartBinder |
foldVirtual(java.lang.String newName,
java.lang.String method) |
SmartBinder |
foldVoid(java.lang.invoke.MethodHandle function) |
SmartBinder |
foldVoid(SmartHandle function) |
static SmartBinder |
from(java.lang.invoke.MethodHandles.Lookup lookup,
Signature inbound) |
static SmartBinder |
from(Signature inbound) |
SmartBinder |
insert(int index,
java.lang.String[] names,
java.lang.Class[] types,
java.lang.Object... values) |
SmartBinder |
insert(int index,
java.lang.String name,
boolean value) |
SmartBinder |
insert(int index,
java.lang.String name,
byte value) |
SmartBinder |
insert(int index,
java.lang.String name,
char value) |
SmartBinder |
insert(int index,
java.lang.String name,
double value) |
SmartBinder |
insert(int index,
java.lang.String name,
float value) |
SmartBinder |
insert(int index,
java.lang.String name,
int value) |
SmartBinder |
insert(int index,
java.lang.String name,
long value) |
SmartBinder |
insert(int index,
java.lang.String name,
java.lang.Object value) |
SmartBinder |
insert(int index,
java.lang.String name,
short value) |
SmartHandle |
invoke(java.lang.invoke.MethodHandle target) |
SmartHandle |
invoke(SmartHandle target) |
SmartHandle |
invoker()
Produce a SmartHandle from this binder that invokes a leading
MethodHandle argument with the remaining arguments.
|
SmartHandle |
invokeStaticQuiet(java.lang.invoke.MethodHandles.Lookup lookup,
java.lang.Class target,
java.lang.String name) |
SmartHandle |
invokeVirtualQuiet(java.lang.invoke.MethodHandles.Lookup lookup,
java.lang.String name) |
SmartBinder |
permute(Signature target) |
SmartBinder |
permute(java.lang.String... targetNames) |
SmartBinder |
prepend(java.lang.String[] names,
java.lang.Class[] types,
java.lang.Object... values) |
SmartBinder |
prepend(java.lang.String name,
boolean value) |
SmartBinder |
prepend(java.lang.String name,
byte value) |
SmartBinder |
prepend(java.lang.String name,
char value) |
SmartBinder |
prepend(java.lang.String name,
double value) |
SmartBinder |
prepend(java.lang.String name,
float value) |
SmartBinder |
prepend(java.lang.String name,
int value) |
SmartBinder |
prepend(java.lang.String name,
long value) |
SmartBinder |
prepend(java.lang.String name,
java.lang.Object value) |
SmartBinder |
prepend(java.lang.String name,
short value) |
SmartBinder |
printSignature() |
Signature |
signature() |
SmartBinder |
spread(java.lang.String[] spreadNames,
java.lang.Class... spreadTypes)
Spread a trailing Object[] into the specified argument types.
|
SmartBinder |
spread(java.lang.String baseName,
int count) |
private final Signature start
private final java.util.List<Signature> signatures
private final Binder binder
private SmartBinder(SmartBinder original, Signature next, Binder binder)
public Signature signature()
public Binder binder()
public static SmartBinder from(Signature inbound)
public static SmartBinder from(java.lang.invoke.MethodHandles.Lookup lookup, Signature inbound)
public SmartBinder fold(java.lang.String newName, java.lang.invoke.MethodHandle function)
public SmartBinder fold(java.lang.String newName, SmartHandle function)
public SmartBinder foldVoid(java.lang.invoke.MethodHandle function)
public SmartBinder foldVoid(SmartHandle function)
public SmartBinder foldStatic(java.lang.String newName, java.lang.invoke.MethodHandles.Lookup lookup, java.lang.Class target, java.lang.String method)
public SmartBinder foldStatic(java.lang.String newName, java.lang.Class target, java.lang.String method)
public SmartBinder foldVirtual(java.lang.String newName, java.lang.invoke.MethodHandles.Lookup lookup, java.lang.String method)
public SmartBinder foldVirtual(java.lang.String newName, java.lang.String method)
public SmartBinder permute(Signature target)
public SmartBinder permute(java.lang.String... targetNames)
public SmartBinder exclude(java.lang.String... excludeNames)
excludeNames - public SmartBinder spread(java.lang.String[] spreadNames, java.lang.Class... spreadTypes)
spreadTypes - the types into which to spread the incoming Object[]public SmartBinder spread(java.lang.String baseName, int count)
public SmartBinder insert(int index, java.lang.String name, java.lang.Object value)
public SmartBinder insert(int index, java.lang.String name, boolean value)
public SmartBinder insert(int index, java.lang.String name, byte value)
public SmartBinder insert(int index, java.lang.String name, short value)
public SmartBinder insert(int index, java.lang.String name, char value)
public SmartBinder insert(int index, java.lang.String name, int value)
public SmartBinder insert(int index, java.lang.String name, long value)
public SmartBinder insert(int index, java.lang.String name, float value)
public SmartBinder insert(int index, java.lang.String name, double value)
public SmartBinder insert(int index, java.lang.String[] names, java.lang.Class[] types, java.lang.Object... values)
public SmartBinder append(java.lang.String name, java.lang.Object value)
public SmartBinder append(java.lang.String name, boolean value)
public SmartBinder append(java.lang.String name, byte value)
public SmartBinder append(java.lang.String name, short value)
public SmartBinder append(java.lang.String name, char value)
public SmartBinder append(java.lang.String name, int value)
public SmartBinder append(java.lang.String name, long value)
public SmartBinder append(java.lang.String name, float value)
public SmartBinder append(java.lang.String name, double value)
public SmartBinder append(java.lang.String[] names, java.lang.Class[] types, java.lang.Object... values)
public SmartBinder prepend(java.lang.String name, java.lang.Object value)
public SmartBinder prepend(java.lang.String name, boolean value)
public SmartBinder prepend(java.lang.String name, byte value)
public SmartBinder prepend(java.lang.String name, short value)
public SmartBinder prepend(java.lang.String name, char value)
public SmartBinder prepend(java.lang.String name, int value)
public SmartBinder prepend(java.lang.String name, long value)
public SmartBinder prepend(java.lang.String name, float value)
public SmartBinder prepend(java.lang.String name, double value)
public SmartBinder prepend(java.lang.String[] names, java.lang.Class[] types, java.lang.Object... values)
public SmartBinder cast(Signature target)
public SmartBinder cast(java.lang.Class returnType, java.lang.Class... argTypes)
public SmartBinder castArg(java.lang.String name, java.lang.Class type)
public SmartBinder castReturn(java.lang.Class type)
public SmartBinder filterReturn(java.lang.invoke.MethodHandle filter)
public SmartBinder filterReturn(SmartHandle filter)
public SmartHandle invokeVirtualQuiet(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.String name)
public SmartHandle invokeStaticQuiet(java.lang.invoke.MethodHandles.Lookup lookup, java.lang.Class target, java.lang.String name)
public SmartHandle invoke(SmartHandle target)
public SmartHandle invoke(java.lang.invoke.MethodHandle target)
public SmartBinder printSignature()
public SmartHandle arrayGet()
public SmartHandle arraySet()
public SmartHandle invoker()