Используйте протобуф конвертеры.Проверьте: https://github.com/BAData.
Преобразование объекта домена в Protobuf:
ProtoObject protoObject =
Converter.create().toProtobuf(ProtoObject.class, domainObject);
Ваш класс домена должен быть аннотирован @ProtoClass, указывая протокласс, которому вы хотите сопоставить класс домена.Пример:
@ProtoClass(ProtoObject.class)
Class DomainClass{
@ProtoField
private String field1;
@ProtoField(name = "xyz") // in case proto and domain class field have different names
private String field2;
}
Если структура классов домена и протоклассов различна, вам придется написать маппер.Дайте мне знать, если вам нужно больше.