toad_jni/java/lang/
mod.rs1mod 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}