2016-01-11 5 views
8

Mit Javapoet zu implementieren, wie zu implementieren, die folgenden:javapoet - wie "erweitert" und "Geräte"

  1. Klasse A erweitert B-Klasse

  2. Klasse C-Schnittstelle D implementiert

In der Javadoc wird erwähnt, wie Sie Schnittstellen erstellen.

Antwort

20

Verwenden Sie TypeSpec.Builder.superclass() für erweitert, und TypeSpec.Builder.addSuperinterface() für Geräte.

+0

Vielen Dank Jesse. – KCMS

+0

Ich erstelle eine Klasse, die eine serialisierbare Schnittstelle implementiert. Wie schreibe ich Code, um die Seriennummer zu generieren? – KCMS

+0

Lesen Sie die Readme, es erklärt, wie Felder zu deklarieren. –

6

Angenommen, Sie möchten eine Dummy Klasse generieren, die Exception Klasse erweitert und die Serializable Schnittstelle implementiert. Der Code generieren ist:

... 
TypeSpec typeSpec = TypeSpec.classBuilder("Dummy") 
    .addSuperinterface(Serializable.class) 
    .superclass(Exception.class) 
    .build(); 

JavaFile javaFile = JavaFile.builder("sample.javapoet", typeSpec).build(); 
... 

Und der generierte Code wird sein:

package sample.javapoet; 

import java.io.Serializable; 
import java.lang.Exception; 

class Hoge extends Exception implements Serializable { 
}