Lombok: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 43: Line 43:


==@RequiredArgsConstructor==
==@RequiredArgsConstructor==
Generates a constructor with required arguments. Required arguments are final fields and fields with constraints such as @NonNull.


==@ToString==
==@ToString==


==@EqualsAndHashCode==
==@EqualsAndHashCode==

Revision as of 23:16, 11 October 2018

External

Overview

Lombok is a Java annotation library that helps reduce boilerplate code.

Gradle Dependency

dependencies {
    implementation('org.projectlombok:lombok')
}

Annotations

@Slf4j

The annotation generates a SLF4J Logger in the class. It has the same effect as if you were to explicitly add the following lines within the class:

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MyClass.class);

@Data

https://projectlombok.org/features/Data

Generates:

  • Getters for all fields
  • Setters for all non-final fields
  • A constructor with corresponding arguments for all fields
  • A useful toString() method
  • hashCode() and equals() implementations that check all non-transient fields

Equivalent to @Getter @Setter, @RequiredArgsConstructor @ToString @EqualsAndHashCode

@Getter

@Setter

@RequiredArgsConstructor

Generates a constructor with required arguments. Required arguments are final fields and fields with constraints such as @NonNull.

@ToString

@EqualsAndHashCode