[infinispan-dev] Strategy to adopting Optional in APIs
Radim Vansa
rvansa at redhat.com
Thu Mar 30 11:47:58 EDT 2017
Hi,
I was wondering what's the common attitude towards using Optional in
APIs, and what naming pattern should we use. As an example, I dislike
calling
if (entry.getMetadata() != null && entry.getMetadata().version() != null) {
foo.use(entry.getMetadata().version())
}
where I could just do
entry.metadata().flatMap(Metadata::optionalVersion).ifPresent(foo::use)
Here I have proposed metadata() method returning Optional<Metadata>
(regular getter method is called getMetadata()) and annoying
optionalVersion() as version() is the regular getter.
Shall we adopt some common stance (use/don't use/use at developer's
discretion) and naming conventions? Is it acceptable to start adding
default Optional<Foo> foo() { Optional.ofNullable(getFoo()); }
whenever we feel the urge to chain Optionals?
Radim
--
Radim Vansa <rvansa at redhat.com>
JBoss Performance Team
More information about the infinispan-dev
mailing list