-
Notifications
You must be signed in to change notification settings - Fork 0
Lombok Examples
Dan edited this page Sep 30, 2016
·
2 revisions
package com.bush.lombok;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import static java.lang.System.out;
public class LombokPOJOs {
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
public static final class Foo {
private String bar;
}
public static void main(String[] args) {
Foo foo = Foo.builder().bar("hello world!").build();
out.println(foo);
}
}
Output
hello world!
package com.bush.lombok;
import lombok.*;
import static java.lang.System.out;
public class LombokPOJOsWithInheritance {
@Data
@NoArgsConstructor
@AllArgsConstructor
public static abstract class Foo {
protected String a; // make me protected!
@Data
@EqualsAndHashCode(callSuper = false)
public static final class Bar extends Foo {
private String b;
@Builder(toBuilder = true) // implement the all args constructor and place the @Builder annotation on it
private Bar(String a, String b) { // make me private!
super(a);
this.b = b;
}
}
}
public static void main(String[] args) {
Foo.Bar bar = Foo.Bar.builder()
.a("hello")
.b("world!")
.build();
out.println(bar.getA() + " " + bar.getB());
}
}
Output
hello world!