BAEL-2503

Add a new section in Lombok builder article
This commit is contained in:
Ricardo Caldas 2020-09-10 17:16:46 -03:00
parent 924517d163
commit 56cbfb1c6f
3 changed files with 28 additions and 29 deletions

View File

@ -1,19 +1,17 @@
package com.baeldung.lombok.builder;
import lombok.Builder;
import lombok.Getter;
import lombok.NonNull;
@Builder(builderMethodName = "hiddenBuilder")
@Builder(builderMethodName = "internalBuilder")
@Getter
public class RequiredFieldAnnotation {
@NonNull
private String name;
private String description;
@NonNull String name;
String description;
public static RequiredFieldAnnotationBuilder builder(String name) {
return hiddenBuilder().name(name);
}
public void example() {
RequiredFieldAnnotation.builder("NameField").description("Field Description").build();
return internalBuilder().name(name);
}
}

View File

@ -1,20 +0,0 @@
package com.baeldung.lombok.builder;
import lombok.Builder;
import lombok.NonNull;
@Builder
public class RequiredFieldOverload {
@NonNull
private String name;
private String description;
public static RequiredFieldOverloadBuilder builder(String name) {
return new RequiredFieldOverloadBuilder().name(name);
}
public void example() {
RequiredFieldAnnotation.builder("NameField").description("Field Description").build();
}
}

View File

@ -0,0 +1,21 @@
package com.baeldung.lombok.builder;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import static org.junit.jupiter.api.Assertions.*;
public class RequiredFieldAnnotationTest {
RequiredFieldAnnotation requiredFieldTest;
@BeforeEach
void setUp() {
requiredFieldTest = RequiredFieldAnnotation.builder("NameField").description("Field Description").build();
}
@Test
public void givenBuilderWithRequiredParameter_thenParameterIsPresent() {
assertEquals(requiredFieldTest.getName(), "NameField");
}
}