Comments (2)
Just ran into a case where the suggested Optional fix isn't feasible.
I'm trying to generate a FreeBuilder subclass of an existing domain entity interface, that has a nullable getPotentialVolume() method.
The domain interfaces are annotated with validation annotations such as @NotNull, @required etc. These annotations are bound to certain validators that return meaningful error messages (not just NPE) to users.
Since the validation framework is tied to nulls, changing the @nullable method to Optional would require adding Optional support to the framework, which isn't trivial.
In summary, nulls are supported in tools and frameworks more widely than the relatively new Optional so there is value to support nulls directly, even without Java 8.
from freebuilder.
Thanks, Ben, you've convinced me. I don't see the benefit in paying a huge cost converting legacy code to Optional when compile-time–checked @nullable annotations are within grasp anyway. If it were just Eclipse-level refactoring, that'd be one thing, because it gives tangible short-term benefits. The long-term story's just not there, though.
from freebuilder.
Related Issues (20)
- Invalid code generated for generic value types with type bounds HOT 1
- Unchecked warnings in code generated for GWT-serializable generic types
- Add support for singularizing plural method names HOT 2
- Evaluate optimizability of internal EnumSet HOT 1
- deserializing mongodb document HOT 1
- Specify property name in exception message on nested type build failure HOT 2
- Support remaining Guava collections HOT 4
- IgnoredByEquals doesn't work HOT 6
- Alternative name for build method HOT 9
- IntelliJ, Auto-Discover Processors from Maven HOT 1
- Nested buildable types should use the enclosing type's defaults
- jackson serializer error HOT 2
- Support derived fields HOT 4
- Enhancement: Add nested builder functions HOT 2
- mergeFrom should support partials
- Support for @JsonAlias
- Not able to build on jdk 20
- Custom getters inside builder HOT 5
- JPMS HOT 10
- Java 21 throws warning with idiomatic Freebuilder usage HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freebuilder.