4 个仓库
Automatic insertion of null checks and default values into generated code based on annotations.
Distinct from Null Value Validation: Focuses on generating code that performs null checks rather than simply validating a value at runtime
Explore 4 awesome GitHub repositories matching software engineering & architecture · Null-Aware Code Generation. Refine with filters or upvote what's useful.
Lombok is a Java annotation processor and boilerplate reduction library designed to automatically generate repetitive source code. It intercepts the compilation process to inject methods and fields directly into Java classes, acting as a source code generator that eliminates the need to manually write common class patterns. The project distinguishes itself through deep integration with the Java compiler and various integrated development environments. It provides IDE plugins that allow editors to recognize and navigate generated methods, preventing false compilation errors and maintaining syn
Injects null checks into methods to trigger exceptions immediately when null values are encountered.
RIBs is a mobile architecture framework that structures applications around isolated, lifecycle-managed units of business logic called RIBs. Each RIB separates routing, business logic, and construction into distinct classes through the Router-Interactor-Builder pattern, with hierarchical dependency injection scoping dependencies per node and static analysis enforcing architectural rules at build time. The framework enforces automatic disposal of Rx subscriptions scoped to interactor lifecycles, blocking compilation when subscriptions lack proper disposal to prevent memory leaks. It supports v
Verifies null safety at build time by checking that nullable values are handled before use, preventing null-pointer exceptions.
MapStruct is an annotation processor and Java bean mapping framework that automatically generates high-performance data transfer code during the compilation process. It serves as a type-safe data mapper for converting information between different object types, specifically targeting Java beans and records. The project replaces manual boilerplate code by using Java interfaces as blueprints to generate concrete implementation classes. This approach ensures type safety and minimizes manual getter and setter calls by producing direct method calls during compilation. The framework handles data t
Analyzes nullness annotations to automatically insert null checks and default value logic into generated methods.
NullAway 是一个 Java 静态分析工具和构建时检测器,旨在识别空指针风险。它作为一个可空性检查器,使用注解来验证引用在解引用前是否为空,从而防止运行时崩溃。 该分析器实现了 JSpecify 标准,以确保不同 Java 库之间的一致性可空性注解。它通过使用服务提供者接口(SPI)来建模缺乏源码注解的第三方库的可空性行为,并为 Lombok 生成的代码提供专门支持,从而脱颖而出。 该工具涵盖了广泛的安全强制执行能力,包括针对方法重写进行 Java API 合约验证,以及检测空 Optional 值获取。其分析范围扩展到包级别的可空性标记,并支持从分析中排除生成的源码。
Provides a compiler-integrated check that identifies null pointer risks in Java projects during the build phase.