or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

builder-pattern.mdconstructors.mddata-classes.mdexperimental.mdimmutable-patterns.mdindex.mdlogging.mdobject-methods.mdproperty-access.mdtype-inference.mdutilities.md
tile.json

constructors.mddocs/

Constructors

Automatic constructor generation with support for required arguments, all arguments, and no-argument constructors.

Capabilities

@NoArgsConstructor

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface NoArgsConstructor {
    String staticName() default "";
    AnyAnnotation[] onConstructor() default {};
    AccessLevel access() default AccessLevel.PUBLIC;
    boolean force() default false;
}

@AllArgsConstructor

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface AllArgsConstructor {
    String staticName() default "";
    AnyAnnotation[] onConstructor() default {};
    AccessLevel access() default AccessLevel.PUBLIC;
}

@RequiredArgsConstructor

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface RequiredArgsConstructor {
    String staticName() default "";
    AnyAnnotation[] onConstructor() default {};
    AccessLevel access() default AccessLevel.PUBLIC;
}

Usage Examples:

import lombok.*;

@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
public class Person {
    private final String name;  // Required field
    private int age;
    private String email;
}

// Generated constructors:
// public Person() {}
// public Person(String name, int age, String email) { ... }
// public Person(String name) { ... }  // Required args only