Package lombok

This package contains all the annotations and support classes you need as a user of lombok. All other packages are only relevant to those who are extending lombok for their own uses, except:
  • lombok.extern.* – These packages contains lombok annotations that solve boilerplate issues for libraries not part of the JRE itself.
  • lombok.experimental – This package contains lombok features that are new or likely to change before committing to long-term support.
See Also:
Lombok features
  • Class Summary 
    Class Description
    ConfigurationKeys
    A container class containing all lombok configuration keys that do not belong to a specific annotation.
    Lombok
    Useful utility methods to manipulate lombok-generated code.
  • Enum Summary 
    Enum Description
    AccessLevel
    Represents an AccessLevel.
  • Annotation Types Summary 
    Annotation Type Description
    AllArgsConstructor
    Generates an all-args constructor.
    AllArgsConstructor.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.
    Builder
    The builder annotation creates a so-called 'builder' aspect to the class that is annotated or the class that contains a member which is annotated with @Builder.
    Builder.Default
    The field annotated with @Default must have an initializing expression; that expression is taken as the default to be used if not explicitly set during building.
    Builder.ObtainVia
    Put on a field (in case of @Builder on a type) or a parameter (for @Builder on a constructor or static method) to indicate how lombok should obtain a value for this field or parameter given an instance; this is only relevant if toBuilder is true.
    Cleanup
    Ensures the variable declaration that you annotate will be cleaned up by calling its close method, regardless of what happens.
    CustomLog
    Causes lombok to generate a logger field based on a custom logger implementation.
    Data
    Generates getters for all fields, a useful toString method, and hashCode and equals implementations that check all non-transient fields.
    Delegate Deprecated.
    Use Delegate instead.
    EqualsAndHashCode
    Generates implementations for the equals and hashCode methods inherited by all objects, based on relevant fields.
    EqualsAndHashCode.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.
    EqualsAndHashCode.Exclude
    If present, do not include this field in the generated equals and hashCode methods.
    EqualsAndHashCode.Include
    Configure the behaviour of how this member is treated in the equals and hashCode implementation; if on a method, include the method's return value as part of calculating hashCode/equality.
    Generated
    Lombok will eventually automatically add this annotation to all generated constructors, methods, fields, and types.
    Getter
    Put on any field to make lombok build a standard getter.
    Getter.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.
    NoArgsConstructor
    Generates a no-args constructor.
    NoArgsConstructor.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.
    NonNull
    If put on a parameter, lombok will insert a null-check at the start of the method / constructor's body, throwing a NullPointerException with the parameter's name as message.
    RequiredArgsConstructor
    Generates a constructor with required arguments.
    RequiredArgsConstructor.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.
    Setter
    Put on any field to make lombok build a standard setter.
    Setter.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.
    Singular
    The singular annotation is used together with @Builder to create single element 'add' methods in the builder for collections.
    SneakyThrows
    @SneakyThrow will avoid javac's insistence that you either catch or throw onward any checked exceptions that statements in your method body declare they generate.
    Synchronized
    Almost exactly like putting the 'synchronized' keyword on a method, except will synchronize on a private internal Object, so that other code not under your control doesn't meddle with your thread management by locking on your own instance.
    ToString
    Generates an implementation for the toString method inherited by all objects, consisting of printing the values of relevant fields.
    ToString.Exclude
    If present, do not include this field in the generated toString.
    ToString.Include
    Configure the behaviour of how this member is rendered in the toString; if on a method, include the method's return value in the output.
    val
    Use val as the type of any local variable declaration (even in a for-each statement), and the type will be inferred from the initializing expression.
    Value
    Generates a lot of code which fits with a class that is a representation of an immutable entity.
    var
    Use var as the type of any local variable declaration (even in a for statement), and the type will be inferred from the initializing expression (any further assignments to the variable are not involved in this type inference).
    With
    Put on any field to make lombok build a 'with' - a withX method which produces a clone of this object (except for 1 field which gets a new value).
    With.AnyAnnotation Deprecated.
    Don't use this annotation, ever - Read the documentation.