<div dir="ltr"><div>Hello</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>After using the ScopedValue for a few days, I'm wondering if there is a better way to conditionally bind a value than doing the following :<br></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><br><font face="monospace">public static final ScopedValue< Locale > ACCEPT_LANGUAGE = ScopedValue.newInstance();<br>     public static final ScopedValue< String > USER_ID = ScopedValue.newInstance();<br><br>final Locale acceptLanguage = getAcceptLanguageFromHeader( httpRequest );</font></blockquote></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><font face="monospace"><br>                        if( acceptLanguage == null ) {<br>    ScopedValue<br>        .where( USER_ID, uid )<br>        .call( MyClass::myStaticCallableMethod );<br>                  } else {<br>    ScopedValue<br>        .where( USER_ID, uid )<br>        .where( ACCEPT_LANGUAGE, acceptLanguage )<br>        .call( MyClass::myStaticCallableMethod );<br>                 }<br></font></blockquote></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><br></div></blockquote></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>The point for me of doing so, instead of simply setting a null acceptLanguage, is to have a more readable code afterward :<br><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><br></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><span style="font-family:monospace">private String myStaticCallableMethod() {</span><br><span style="font-family:monospace">    final Local localToUse = ACCEPT_LANGUAGE.orElse( A_</span><span style="font-family:monospace">DEFAULT_LOCAL</span><span style="font-family:monospace"> );</span></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><br><span style="font-family:monospace">    ...</span><br><font face="monospace">}</font></blockquote></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><br></blockquote></div>What is your advise about it ?<br><blockquote style="margin:0 0 0 40px;border:none;padding:0px"></blockquote><br><blockquote style="margin:0 0 0 40px;border:none;padding:0px"></blockquote></div></blockquote><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">Best regards<br><br></blockquote></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Benoit Lefèvre</div></div></div>