Lombok Builder soll andere Klasse bauen

Hallo zusammen
ich möchte in meinem Test verschiedene Klassen bauen. Dazu soll das "Testframework" die Möglichkeit anbieten mit einem Builder sich die Testklassen zu bauen. Also die eigentlichen Klassen besitzen keinen Builder. z.B so :
Java:
@Slf4j
public class LocalAssociation extends Association {

    /**
     * default constructor <br>
     * set the accepted list types <br>
     *
     * @param name
     */
    public LocalAssociation(String name) {
        super(name);

        log.debug("create a new {} : {}", getClass().getSimpleName(), name);
        setAcceptedElementType(SportsClub.class);
    }
}

In der Testklasse soll nun in etwas folgendes Passieren :
Java:
    @Builder
    public static class LocalAssociationBuilder {
   
        private String name;
        @Singular("addSportsClub") private List<SportsClub> sportsClubList;
       
        public LocalAssociation build() {
            LocalAssociation localAssociation = new LocalAssociation(name);
            localAssociation.addOrUpdate(sportsClubList);
           
            return localAssociation;
        }       
    }

Wenn ich nun diesen Builder aufrufe :
Java:
LocalAssociationBuilder.builder().name("test").build();
liefert die build() Methode immer nur einen LocalAssociationBuilder zurück.
Nun meine Frage : Ist mein Vorhaben mit Lombok überhaupt zu realisieren - oder muss ich das "per Hand" machen?

Vielen Dank
 

Tobse

Top Contributor
Lombok kann das AFAICT nicht. Ich wünsche mir z.B. seit längerem eine @InheritConstructors Annotation in Lombok für Exception Klassen, im GitHub Issue dazu klingt es aber so, als ob Lombok nur auf lexikalischer Ebene arbeitet, nicht auf semantischer. Deswegen kann Lombok nicht die Super-Klasse suchen, ggf. sogar parsen oder aus dem Bytecode Format lesen (die Klasse kann ja auch irgendwo aus dem Classpath kommen) und dann damit Dinge anstellen.

P.S.: Die @Builder Annotation muss an die Klasse, die gebaut werden soll, nicht an den Builder selbst.
 

dzim

Top Contributor
Und wenn du stattdessen den Bytecode zur Laufzeit generieren lässt (Lombok ist ja Compilezeit, wenn ich mich nicht irre, hab es noch nicht verwenden, nur gelesen)?
Mit Bibliotheken wie ByteBuddy, oder mehr Low-Level auch Javassist oder cglib, könntest du so etwas meines Wissens nach erreichen…
 

Tobse

Top Contributor
Und wenn du stattdessen den Bytecode zur Laufzeit generieren lässt (Lombok ist ja Compilezeit, wenn ich mich nicht irre, hab es noch nicht verwenden, nur gelesen)?
Mit Bibliotheken wie ByteBuddy, oder mehr Low-Level auch Javassist oder cglib, könntest du so etwas meines Wissens nach erreichen…
Da stellt sich dann die Frage, ob das den Aufwand Wert ist. Meine Antwort darauf ist ein ganz klares Nein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Builder Klasse mit Lombok bauen Allgemeine Java-Themen 2
perlenfischer1984 Mit Lombok Builder Felder in Super Klasse füllen Allgemeine Java-Themen 12
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
J Mit Lombok Integer Range prüfen Allgemeine Java-Themen 6
J Lombok Problem mit Konstruktoren bei Verberbung Allgemeine Java-Themen 1
J Probleme mit CodeCoverage und Lombok Equals Allgemeine Java-Themen 1
J Eclipse Lombok Allgemeine Java-Themen 5
N Window Builder Allgemeine Java-Themen 2
Tobero Eclipse Window builder gibt es da sowas wie @ignore? Allgemeine Java-Themen 1
T ImageJ steuern mit Delphi C++ Builder etc. Allgemeine Java-Themen 1
8u3631984 Spring Component mit Builder Allgemeine Java-Themen 20
perlenfischer1984 Java Builder vs Setter Allgemeine Java-Themen 1
V Stringbuffer/builder leeren Allgemeine Java-Themen 2
K Ein Guter GUI-Builder ? Allgemeine Java-Themen 9
G Sehr gutes Java-Framework(Gui-Builder) auf XML-Basis gesucht Allgemeine Java-Themen 21
J XML: JDOM + builder.build() hängt einfach Allgemeine Java-Themen 3
zilti NetBeans-Frage zum GUI-Builder Allgemeine Java-Themen 10
B Process Builder Allgemeine Java-Themen 10
G Matisse GUI Builder suche Tutorials Allgemeine Java-Themen 12
J Welchen Packager soll ich verwenden. Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
Noahscript Konto anlegen um JDK herunterzuladen? Was soll das? Allgemeine Java-Themen 1
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
M 4 Gewinnt KI macht nicht, was sie soll.. Allgemeine Java-Themen 1
J Überschriebene Funktion soll nicht die super Funktion aufrufen Allgemeine Java-Themen 4
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
C Eclipse einstellen, dass eine bestimmte JDK benutzt werden soll Allgemeine Java-Themen 3
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
R serielles Terminal mit Java: Cursor soll blinken Allgemeine Java-Themen 4
L Wie genau soll ein Klassendiagramm sein Allgemeine Java-Themen 4
I JPanel soll sich dem JFrame anpassen Allgemeine Java-Themen 1
S Bachelorarbeit , soll ich ? soll ich nicht? Allgemeine Java-Themen 23
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
H JFileChooser soll NUR Windows-Netzwerkumgebung anzeigen Allgemeine Java-Themen 2
I JTextArea soll nur drei Zeilen anzeigen Allgemeine Java-Themen 1
K Methode soll neue Buttons erstellen Allgemeine Java-Themen 5
J if else Anweisung macht nicht was es soll. Wieso? Allgemeine Java-Themen 10
J java-applikation-1.jar soll java-applikation-2 aufrufen.jar Allgemeine Java-Themen 5
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
S Threads ServerSocket-Thread soll schlafen, bis er gebraucht wird Allgemeine Java-Themen 2
T Welches Tuturial soll ich paralell lesen ? Allgemeine Java-Themen 3
G Jar-File soll eignen *.jar Namen ausgeben Allgemeine Java-Themen 10
D Dialog soll sich beim Klick auf Button schließen Allgemeine Java-Themen 8
L JAR verändern - JAVAC soll einfach nur kompilieren, ohne Prüfungen Allgemeine Java-Themen 16
C Abstrakte Klasse soll Methode aus Unterklasse aufrufen Allgemeine Java-Themen 3
D Input/Output Datei ausgewählt - Datei soll nicht existieren Allgemeine Java-Themen 5
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
L Entscheiden, welcher Code ausgeführt werden soll Allgemeine Java-Themen 7
I Swing Welche Swing Komponente soll ich nehmen? Allgemeine Java-Themen 2
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
R FileChooser soll nur das File ausgeben Allgemeine Java-Themen 4
B Java soll Datei von Javascript empfangen Allgemeine Java-Themen 4
E Bitcode liegt vor und soll gespiegelt werden Allgemeine Java-Themen 4
B Scheduler soll bestimmten Job stoppen Allgemeine Java-Themen 4
H2SO3- jar soll eigenen namen(pfad) finden Allgemeine Java-Themen 12
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
B Thread soll anderen Thread beenden Allgemeine Java-Themen 5
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
Developer_X JButton soll gar nichts machen Allgemeine Java-Themen 8
M Ein Array-Wert soll sich verändern, aber 2 tun es? Allgemeine Java-Themen 7
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
G Was ist Ant und warum soll ich das brachen, wenn es IDEs gib Allgemeine Java-Themen 10
X Software soll einen Text vorlesen! Allgemeine Java-Themen 5
P Copiler soll nicht vorhandene Methoden ignorieren Allgemeine Java-Themen 2
G Apache soll mit SVN zusammenarbeiten Allgemeine Java-Themen 3
J double 3.0 soll ohne Nachkommastelle ausgegeben werden Allgemeine Java-Themen 12
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
S String soll Anführungszeichen enthalten. Allgemeine Java-Themen 2
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
Y Methode soll 2 Werte zurückliefern Allgemeine Java-Themen 7
ARadauer programm soll sich selbst ändern können Allgemeine Java-Themen 20
F Klasse soll sich selbst returnieren mit entsprechendem Typ. Allgemeine Java-Themen 15
U Programm soll sich nach update neustarten Allgemeine Java-Themen 30
A NullPointerException, Thread soll Thread steuern Allgemeine Java-Themen 2
MQue HintergrundFarbe des Buttons beim drücken soll bleiben Allgemeine Java-Themen 2
A equals() macht nicht, was es soll Allgemeine Java-Themen 4
E Java-Programm soll Java-Programm "fernsteuern" -wi Allgemeine Java-Themen 3
G Jar File soll anderes benutzen Allgemeine Java-Themen 3
Nils_Langner InputStream soll sich bei neuen Daten melden Allgemeine Java-Themen 2
Q Methode soll auf schließen eines Frames warten Allgemeine Java-Themen 4
S Log4J mit 2 Appender, einer soll nur INFO loggen Allgemeine Java-Themen 3
H Nur bis zur letzten Textzeile soll gelesen werden Allgemeine Java-Themen 4
G Was soll noch alles in Java kommen? Allgemeine Java-Themen 14
K Methode soll ein Array zurückgeben Allgemeine Java-Themen 4
M Ein Thread soll ein Textfeld (SWT) ändern Allgemeine Java-Themen 4
P Javaprogramm soll doppeltgeklickte Datei verarbeiten Allgemeine Java-Themen 22
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
R Thread soll auf MouseClick warten Allgemeine Java-Themen 2
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
S Java Programm soll im Hintergrund laufen (vgl. fork() bei C) Allgemeine Java-Themen 10
G To many Code? Was soll der scheiß? Allgemeine Java-Themen 11
T Soll ich meine Software als freeware zum download geben? Allgemeine Java-Themen 15
thE_29 Werden die SUN JVMs immer blöder oder was soll das. Allgemeine Java-Themen 11
T Klasse soll Object sein->um in JTabbedPane einzufügen Allgemeine Java-Themen 2
A Textfeld soll verschiedene Datumseingaben akzeptieren Allgemeine Java-Themen 5
1 Applet soll PDF von Servlet empfangen Allgemeine Java-Themen 3
S Welchen Editor soll man für Graphische lösungen benutzen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben