I've been working on JADEx (Java Advanced Development Extension) which is a safety layer that makes Java safer by adding Null-Safety and Final-by-Default semantics without rewriting Java codes and modifying the JVM.
Quick recap of what JADEx adds to Java:
-
String?nullable type declaration -
?.null-safe access operator -
?:Elvis operator -
apply readonlyfinal-by-default mode per file
Today I'm sharing three things that just landed.
1. Lombok support
This was the most requested thing. JADEx now integrates with Lombok via a Delombok pipeline internally. The key motivation: JADEx's nullability checker needs to see Lombok-generated code (getters, builders, constructors) to avoid blind spots. Without Delombok, nullable fields could silently pass through generated methods unchecked.
@Data
@Builder
@Entity
public class User {
private String name;
private String? email; // @Nullable propagated to getter + builder param
private Address? address; // @Nullable propagated to getter + builder param
}
After Delombok, JADEx sees and analyzes the generated code:
// Lombok-generated — JADEx propagates @Nullable into these
@Nullable
public String getEmail() { return this.email; }
public UserBuilder email(@Nullable final String email) { ... }
public UserBuilder address(@Nullable final Address address) { ... }
2. Gradle plugin published
The JADEx Gradle plugin is now on Maven Central and the Gradle Plugin Portal.
plugins {
id 'io.github.nieuwmijnleven.jadex' version '0.628'
}
jadex {
sourceDir = 'src/main/jadex'
}
That's the only change needed to an existing Spring Boot project. Everything else (compilation, Delombok pipeline, .java generation) is handled automatically.
3. JADEx Spring Boot example project
-
full description
-
source repository
We highly welcome your feedback on JADEx.
Thank you.
Top comments (0)