Builder Klasse mit Lombok bauen

jCoder1984

Aktives Mitglied
Hallo zusammen,
ich verwende in meinem Projekt lombok. Nun möchte ich gerne die Builder Annotation verwenden. Allerdings stoße ich dabei auf folgendes Problem :
Ich habe eine BasisKlasse :
Java:
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode
@ToString
@Slf4j
public class DefaultFileImporter implements IImporter {

    @NonNull
    private final Path filePath;

    @NonNull
    private final Charset charset;
    ....


Nun möchte ich gerne eine weitere Klasse als Builder bauen :

Java:
@Builder(builderMethodName = "hiddenBuilder")
@ToString
@Slf4j
public class CSVImporter extends DefaultFileImporter implements IImporter {

    @NonNull
    private Path filePath;

    @NonNull
    @Builder.Default
    private String csvSeparator = ";";

    @NonNull
    @Builder.Default
    private final Charset charset = Charset.forName("ISO-8859-1");

    @NonNull
    @Builder.Default
    private String associationName = "HVBV";

    public static CSVImporterBuilder builder(Path filePath) {
        return hiddenBuilder().filePath(filePath);
    }

...
    ....

Wenn ich nun den Builder verwende :
Java:
CSVImporter csvImporter = CSVImporter.builder(csvPath).build();

Bekomme ich folgende Exception :
Code:
Error:(20, 1) java: constructor DefaultFileImporter in class volleyball.tools.importer.DefaultFileImporter cannot be applied to given types;
  required: java.nio.file.Path,java.nio.charset.Charset
  found: no arguments
  reason: actual and formal argument lists differ in length

Kann mir jemand eine Tipp geben
 

Zurück
Oben