toad_jni/java/lang/
mod.rs

1mod primitive_wrappers;
2
3#[doc(inline)]
4pub use primitive_wrappers::{Bool, Byte, Char, Double, Float, Integer, Long, Short};
5
6mod object;
7
8#[doc(inline)]
9pub use object::Object;
10
11mod throwable;
12
13#[doc(inline)]
14pub use throwable::{StackTraceElement, Throwable};
15
16mod system;
17
18#[doc(inline)]
19pub use system::System;
20
21use crate::java;
22
23impl java::Class for String {
24  const PATH: &'static str = "java/lang/String";
25}
26
27impl java::Object for String {
28  fn upcast(e: &mut java::Env, jobj: Object) -> Self {
29    let jstring = <&jni::objects::JString>::from(jobj.as_local());
30    let javastr = e.get_string(jstring).unwrap();
31    javastr.into()
32  }
33
34  fn downcast(self, e: &mut java::Env) -> Object {
35    self.downcast_ref(e)
36  }
37
38  fn downcast_ref(&self, e: &mut java::Env) -> Object {
39    let str_ = e.new_string(self).unwrap();
40    Object::from_local(e, str_)
41  }
42}