I'm getting this compilation error:
Lombok annotation handler class lombok.eclipse.handlers.HandleBuilder failed - See error log. Java (0) [1, 1]
The method builder() is undefined for the type NestedReference Java (67108964) [22, 26]
My class is:
package net.gencat.transversal.espaidoc.domain.model.reference;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
@Getter
@Builder(access = AccessLevel.PRIVATE)
@EqualsAndHashCode
@ToString
public class NestedReference {
private final ReferenceId referenceId;
private NestedReference(ReferenceId referenceId) {
validate(referenceId);
this.referenceId = referenceId;
}
public static NestedReference of(ReferenceId referenceId) {
return NestedReference.builder() // <<<< The method builder() is undefined for the type NestedReference Java (67108964) [22, 26]
.referenceId(referenceId)
.build();
}
private static void validate(ReferenceId referenceId) {
if (referenceId == null) {
throw new IllegalArgumentException("ReferenceId cannot be null or empty");
}
}
}
My class is a immutable Value Object and I need to leverage @Builder annotation builder only inside my class.
Any ideas?
Calling
NestedReference.builder()should work.Which version of Java and Lombok are you using?
Have you tried calling the
NestedReferenceBuilderconstructor directly?Alternative to builder
You can leverage the power of records and Lombok in a different way:
If you cannot use records yet, you can use
@Value: