CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-org-projectlombok--lombok

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, automate your logging variables, and much more.

Pending
Overview
Eval results
Files

experimental.mddocs/

Experimental Features

Advanced and experimental features including utility classes, field name constants, and enhanced builder patterns.

Capabilities

@SuperBuilder

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface SuperBuilder {
    String builderMethodName() default "builder";
    String buildMethodName() default "build";
    boolean toBuilder() default false;
    String setterPrefix() default "";
}

@UtilityClass

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface UtilityClass {
}

@FieldNameConstants

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface FieldNameConstants {
    AccessLevel level() default AccessLevel.PUBLIC;
    boolean asEnum() default false;
    String innerTypeName() default "Fields";
    boolean onlyExplicitlyIncluded() default false;
}

@Delegate

@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.SOURCE)
public @interface Delegate {
    Class<?>[] types() default {};
    Class<?>[] excludes() default {};
}

Usage Examples:

import lombok.experimental.*;

@UtilityClass
public class MathUtils {
    public static int add(int a, int b) {
        return a + b;
    }
}

@FieldNameConstants
public class User {
    private String name;
    private int age;
    
    // Generated: public static final String NAME = "name";
    // Generated: public static final String AGE = "age";
}

Install with Tessl CLI

npx tessl i tessl/maven-org-projectlombok--lombok

docs

builder-pattern.md

constructors.md

data-classes.md

experimental.md

immutable-patterns.md

index.md

logging.md

object-methods.md

property-access.md

type-inference.md

utilities.md

tile.json