Skip to content

duchess-rs/duchess

Repository files navigation

Duchess: silky smooth Java integration

Duchess is a Rust crate that makes it easy, ergonomic, and efficient to interoperate with Java code.

TL;DR

Duchess permits you to reflect Java classes into Rust and easily invoke methods on Java objects. For example the following Java code...

Logger logger = new log.Logger();
logger.addEvent(
    Event.builder()
        .withTime(new Date())
        .withName("foo")
        .build()
);

...could be executed in Rust as follows:

let logger = log::Logger::new().execute()?;
logger
    .add_event(
        log::Event::builder()
            .with_time(java::util::Date::new())
            .with_name("foo")
            .build(),
    )
    .execute()?;

Curious to learn more?

Check out the...

Curious to get involved?

Look for issues tagged with good first issue and join the Zulip. For more information on how to develop duchess, see Contributing. You may also be able to improve test coverage.