<div dir="auto">I&#39;m for &quot;at discretion&quot; and &quot;avoid if not really needed&quot; : not cool to allocate objects for no reason. </div><div class="gmail_extra"><br><div class="gmail_quote">On 30 Mar 2017 16:57, &quot;Radim Vansa&quot; &lt;<a href="mailto:rvansa@redhat.com">rvansa@redhat.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I was wondering what&#39;s the common attitude towards using Optional in<br>
APIs, and what naming pattern should we use. As an example, I dislike<br>
calling<br>
<br>
if (entry.getMetadata() != null &amp;&amp; entry.getMetadata().version() != null) {<br>
     foo.use(entry.getMetadata().<wbr>version())<br>
}<br>
<br>
where I could just do<br>
<br>
entry.metadata().flatMap(<wbr>Metadata::optionalVersion).<wbr>ifPresent(foo::use)<br>
<br>
Here I have proposed metadata() method returning Optional&lt;Metadata&gt;<br>
(regular getter method is called getMetadata()) and annoying<br>
optionalVersion() as version() is the regular getter.<br>
<br>
Shall we adopt some common stance (use/don&#39;t use/use at developer&#39;s<br>
discretion) and naming conventions? Is it acceptable to start adding<br>
<br>
default Optional&lt;Foo&gt; foo() { Optional.ofNullable(getFoo()); }<br>
<br>
whenever we feel the urge to chain Optionals?<br>
<br>
Radim<br>
<br>
--<br>
Radim Vansa &lt;<a href="mailto:rvansa@redhat.com">rvansa@redhat.com</a>&gt;<br>
JBoss Performance Team<br>
<br>
______________________________<wbr>_________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/infinispan-<wbr>dev</a><br>
</blockquote></div></div>