update README.md
A kit for protobuf.
在 protokit-demo 里可以看到具体示例。
protokit-demo
用户定义:
@PbMessage public class User { @PbField(tag = 1) private long id; @PbField(tag = 2) private String name; @PbField(tag = 3) private int age; @PbField(tag = 4) private boolean checked;
在编译之后,会生成 UserPB.proto:
UserPB.proto
syntax = "proto3"; package com.test.demo; option java_multiple_files = true; option java_package = 'com.test.demo'; message UserPB { int64 id = 1; string name = 2; int32 age = 3; bool checked = 4; }
还会生成 UserPbConvertor.java
UserPbConvertor.java
public class UserPbConvertor implements com.alibaba.protokit.gen.PbConvertor<com.test.demo.User>{ @Override public <T> T convertToPbObject(com.test.demo.User object) { com.test.demo.UserPB.Builder builder = com.test.demo.UserPB.newBuilder(); builder.setId(object.getId()); builder.setName(object.getName()); builder.setAge(object.getAge()); builder.setChecked(object.isChecked()); return (T) builder.build(); } @Override public com.test.demo.User fromPbObject(Object pbObject) { com.test.demo.User object = new com.test.demo.User(); com.test.demo.UserPB fromPbObject = (com.test.demo.UserPB) pbObject; object.setId(fromPbObject.getId()); object.setName(fromPbObject.getName()); object.setAge(fromPbObject.getAge()); object.setChecked(fromPbObject.getChecked()); return object; } }
在 protokit-demo2 里引用 protokit-demo 中生成的 UserPbConvertor,完成 User 到 UserPB的相互转换。
protokit-demo2
UserPbConvertor
User
UserPB
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
protokit
A kit for protobuf.
示例
protokit-demo
在
protokit-demo里可以看到具体示例。用户定义:
在编译之后,会生成
UserPB.proto:还会生成
UserPbConvertor.javaprotokit-demo2
在
protokit-demo2里引用protokit-demo中生成的UserPbConvertor,完成User到UserPB的相互转换。