SkillAgentSearch skills...

Invokebinder

A Java DSL for binding method handles forward, rather than backward

Install / Use

/learn @headius/Invokebinder
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Introduction

This library hopes to provide a more friendly DSL for binding method handles. Unlike the normal MethodHandle API, handles are bound forward from a source MethodType and eventually adapted to a final target MethodHandle. Along the way the transformations are pushed onto a stack and eventually applied in reverse order, as the standard API demands.

Examples

Transformation calls can be chained. They are not applied until an eventual "invoke" is called with the target endpoint MethodHandle.

MethodHandle mh = Binder
   .from(String.class, String.class, String.class) // String w(String, String)
   .drop(1, String.class) // String x(String)
   .insert(0, 'hello') // String y(String, String)
   .cast(String.class, CharSequence.class, Object.class) // String z(CharSequence, Object)
   .invoke(someTargetHandle);

Status

This is currently under development. Not all transformations from the MethodHandle API are yet supported.

Contributors are welcome :)

Releasing

Use a Java 9+ JVM and run mvn deploy -Prelease to build and upload all necessary artifacts.

View on GitHub
GitHub Stars109
CategoryDevelopment
Updated1mo ago
Forks20

Languages

Java

Security Score

95/100

Audited on Feb 6, 2026

No findings