2016-04-28 6 views
1

Ich versuche, .proto (Version 2.5) zu Java Pojo zu konvertieren. Zum BeispielWie erstellt man Java Pojo aus der bestehenden Protobuf-Datei?

Von

message Article { 
    optional string title = 1; 
} 

zu

public class Article { 
    private string title; 

    public string getTitle() { 
     return title; 
    } 

    public void setTitle(string title) { 
     this.title = title; 
    } 
} 

Aber der offiziellen Protoc nicht unterstützt pojo Weise Java-Dateien generieren.

Gibt es Tools, die Pojo automatisch aus .proto-Dateien generieren?

+0

Und was ist passiert, als Sie es versucht haben? – f1sh

+0

Zu viele .proto-Dateien, ich brauche ein Werkzeug. – light13

Antwort

0

Diese SO Dokumentation der Java „nano“ Variante von Protokollpuffer zur Erzeugung, das könnte nur sein Thread enthält, was Sie suchen: Android protobuf nano documentation

Ansonsten ist der einfachste Weg, um Code auf eigene Faust zu erzeugen, ist wahrscheinlich zu Verwenden Sie den Google Open Source-Protokollpuffercodegenerator, um "descriptors" für Ihre Protokollpuffer zu generieren, und iterieren Sie dann die Deskriptoren (und verwenden Sie möglicherweise eine Bibliothek wie Java-Poet), um Java-Code zu generieren.

+0

Java "Nano" Variante der generierten Dateien sind nicht die Pojo-Stil, auch. Aber das Parsen der Deskriptoren kann der einzige Weg sein, dies zu tun. – light13

+0

Für Ihr Beispiel sollte der generierte Nano-Code fast übereinstimmen ... Welchen Unterschied macht es nicht für Ihren Fall geeignet? –

+0

In meinem Fall, gibt es einige Proto-Dateien, um die Datenstruktur zu beschreiben, aber ich möchte Java nicht kompilieren, verlassen sich auf Protobuf, weil das reale Datenformat json ist. Aber danke Alter, ich schrieb ein grobes Skript, um pojo durch den Deskriptor zu generieren, es funktioniert. – light13