Expand description
Experiments with Java-Rust interop.
Re-exports§
pub use prelude::*;
Modules§
- Contains reusable declarations for classes distributed by the JDK under the
java.*
packages. - Contains traits with methods expected to be invoked by end-users.
Macros§
- The main duchess macro, used like so
Structs§
- An owned reference to a non-null Java object of type
T
. - Represents a handle to a running JVM. You rarely access this explicitly as a duchess user.
- An owned local reference to a non-null Java object of type
T
. The reference will be freed when dropped. Cannot be shared across threads or [Jvm::with
] invocations. - Marker type used to indicate an attempt to dereference a null java reference. See
TryJDeref
trait.
Enums§
Traits§
- Possibly null reference to a Java object.
- Types that are able to be converted back into a Rust
T
, either because they will produce a Rust primitiveT
or or because we can convert into them via a JNI call. - Reference to a Java object that cannot be null (e.g.,
Java<java::lang::Object>
). - A trait for zero-sized dummy types that represent Java object types.
- Reference to a Java object that may or may not be null. Implemented both by non-null references like
Java<java::lang::Object>
or&java::lang::Object
and by maybe-null references likeOption<Java<java::lang::Object>>
.
Type Aliases§
- Result returned by most Java operations that may contain a local reference to a thrown exception.
- Result returned by
crate::Jvm::with()
that will store any uncaught exception as a global reference.