#[java_implement]
Expand description
实现java interface,将此属性标记在impl上,可以自动实现java接口的动态代理,从而实现java层回调rust层。 其中在接口中定义的每一个方法将自动实现并暴露给java层,但以下划线“_”开头的函数除外。
§Arguments
attrs
: 属性。input
: impl输入。
returns: TokenStream
§Examples
use std::fmt::{Debug, Formatter};
use droid_wrap_derive::{java_interface,java_implement};
#[java_interface(name = "java/lang/Runnable")]
trait Runnable {
fn run(&self);
}
struct RunnableImpl;
impl PartialEq for RunnableImpl {
fn eq(&self, other: &Self) -> bool {
todo!()
}
}
impl Debug for RunnableImpl {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
todo!()
}
}
#[java_implement]
impl Runnable for RunnableImpl {
fn run(&self) {
println!("Called from java.");
}
}