Skip to content

Lombok Examples

Dan edited this page Sep 30, 2016 · 2 revisions

All Lombok Code Examples

Lombok POJOs

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!

Lombok POJOs With Inheritance

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!