2个不稳定版本

0.2.0 2023年1月29日
0.1.0 2021年5月3日

#34 in #java-class


jaded中使用

MIT许可证

37KB
790

Jaded-derive

Jaded Java反序列化库的派生宏,支持'derive'功能。代码不需要直接依赖于此crate,而应该使用jaded


lib.rs:

为Rust类型自动实现jaded::FromJava的派生宏。

这提供了一个FromJava宏。

大多数FromJava实现将非常相似,自动派生它们比为每个类型编写几乎相同的实现块更有意义。

对于'简单'的bean样式Java类,例如

public class Person implements Serializable {
    private String firstName;
    private String familyName;
    private int age;
}

Rust的等价物可以自动派生

#[derive(FromJava)]
struct Person {
    firstName: String,
    familyName: String,
    age: i32,
}

为了使Java和Rust都能保持各自的命名约定,提供了一个'重命名'功能,允许将camelCase Java字段读取到snake_case Rust字段中

#[derive(FromJava)]
#[jaded(rename)]
struct Person {
    first_name: String,
    family_name: String,
    age: i32,
}

依赖项

~1.5MB
~36K SLoC