# Duchess: silky smooth Java integration [][Zulip] [][Coverage] 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... ```rust Logger logger = new log.Logger(); logger.addEvent( Event.builder() .withTime(new Date()) .withName("foo") .build() ); ``` ...could be executed in Rust as follows: ```rust 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... * The [examples](https://github.com/duchess-rs/duchess/tree/main/test-crates/duchess-java-tests/tests/ui/examples) * The [tutorials](https://duchess-rs.github.io/duchess/tutorials.html) chapter ## 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]. [issues tagged with good first issue]: https://github.com/duchess-rs/duchess/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 [Zulip]: https://duchess.zulipchat.com/ [Contributing]: CONTRIBUTING.md [Coverage]: https://duchess-rs.github.io/duchess/coverage