pub trait JavaValue<'env> {
    // Required methods
    fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>;
    fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self;
}
Expand description

A trait for types that are ffi-safe to use with JNI. It is implemented for primitives, JObject and jobject. Users that want automatic conversion should instead implement FromJavaValue, IntoJavaValue and/or TryFromJavaValue, TryIntoJavaValue

Required Methods§

source

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

Convert instance to a JObject.

source

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

Convert JObject to the implementing type.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'env> JavaValue<'env> for ()

source§

fn autobox(self, _env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(_s: JObject<'env>, _env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for JObject<'env>

source§

fn autobox(self, _env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, _env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for JString<'env>

source§

fn autobox(self, _env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, _env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jboolean

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jbyte

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jchar

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jdouble

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jfloat

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jint

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jlong

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jobject

source§

fn autobox(self, _env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, _env: &JNIEnv<'env>) -> Self

source§

impl<'env> JavaValue<'env> for jshort

source§

fn autobox(self, env: &JNIEnv<'env>) -> JObject<'env>

source§

fn unbox(s: JObject<'env>, env: &JNIEnv<'env>) -> Self

Implementors§