1212 */
1313package javax .money ;
1414
15- import javax .money .spi .Bootstrap ;
16- import javax .money .spi .CurrencyProviderSpi ;
17- import javax .money .spi .MonetaryAmountsSingletonQuerySpi ;
18- import javax .money .spi .MonetaryAmountsSingletonSpi ;
19- import javax .money .spi .MonetaryCurrenciesSingletonSpi ;
20- import javax .money .spi .MonetaryRoundingsSingletonSpi ;
15+ import javax .money .spi .*;
2116
2217import java .util .Collection ;
2318import java .util .List ;
@@ -69,7 +64,7 @@ private static MonetaryAmountsSingletonSpi monetaryAmountsSingletonSpi() {
6964 /**
7065 * The used {@link javax.money.spi.MonetaryAmountsSingletonSpi} instance.
7166 */
72- private static MonetaryAmountsSingletonQuerySpi MONETARY_AMOUNTS_SINGLETON_QUERY_SPI () {
67+ private static MonetaryAmountsSingletonQuerySpi monetaryAmountsSingletonQuerySpi () {
7368 try {
7469 return Bootstrap .getService (MonetaryAmountsSingletonQuerySpi .class );
7570 } catch (Exception e ) {
@@ -84,7 +79,7 @@ private static MonetaryAmountsSingletonQuerySpi MONETARY_AMOUNTS_SINGLETON_QUERY
8479 /**
8580 * The used {@link javax.money.spi.MonetaryCurrenciesSingletonSpi} instance.
8681 */
87- private static MonetaryRoundingsSingletonSpi MONETARY_ROUNDINGS_SINGLETON_SPI () {
82+ private static MonetaryRoundingsSingletonSpi monetaryRoundingsSingletonSpi () {
8883 try {
8984 return Optional .ofNullable (Bootstrap
9085 .getService (MonetaryRoundingsSingletonSpi .class ))
@@ -108,7 +103,7 @@ private Monetary() {
108103 * @return the set of provider names, never {@code null}.
109104 */
110105 public static Set <String > getRoundingProviderNames () {
111- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
106+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
112107 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
113108 .getProviderNames ();
114109 }
@@ -119,7 +114,7 @@ public static Set<String> getRoundingProviderNames() {
119114 * @return the chained list of provider names, never {@code null}.
120115 */
121116 public static List <String > getDefaultRoundingProviderChain () {
122- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
117+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
123118 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
124119 .getDefaultProviderChain ();
125120 }
@@ -133,7 +128,7 @@ public static List<String> getDefaultRoundingProviderChain() {
133128 * @return the (shared) default rounding instance.
134129 */
135130 public static MonetaryRounding getDefaultRounding () {
136- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
131+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
137132 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
138133 .getDefaultRounding ();
139134 }
@@ -151,7 +146,7 @@ public static MonetaryRounding getDefaultRounding() {
151146 * rounding, never {@code null}.
152147 */
153148 public static MonetaryRounding getRounding (CurrencyUnit currencyUnit , String ... providers ) {
154- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
149+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
155150 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
156151 .getRounding (currencyUnit , providers );
157152 }
@@ -169,7 +164,7 @@ public static MonetaryRounding getRounding(CurrencyUnit currencyUnit, String...
169164 * {@link javax.money.spi.RoundingProviderSpi} instance.
170165 */
171166 public static MonetaryRounding getRounding (String roundingName , String ... providers ) {
172- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
167+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
173168 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
174169 .getRounding (roundingName , providers );
175170 }
@@ -184,7 +179,7 @@ public static MonetaryRounding getRounding(String roundingName, String... provid
184179 * {@link javax.money.spi.RoundingProviderSpi} instance.
185180 */
186181 public static MonetaryRounding getRounding (RoundingQuery roundingQuery ) {
187- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
182+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
188183 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
189184 .getRounding (roundingQuery );
190185 }
@@ -200,7 +195,7 @@ public static MonetaryRounding getRounding(RoundingQuery roundingQuery) {
200195 * {@link javax.money.spi.RoundingProviderSpi} instance.
201196 */
202197 public static boolean isRoundingAvailable (String roundingName , String ... providers ) {
203- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
198+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
204199 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
205200 .isRoundingAvailable (roundingName , providers );
206201 }
@@ -217,7 +212,7 @@ public static boolean isRoundingAvailable(String roundingName, String... provide
217212 * {@link javax.money.spi.RoundingProviderSpi} instance.
218213 */
219214 public static boolean isRoundingAvailable (CurrencyUnit currencyUnit , String ... providers ) {
220- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
215+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
221216 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
222217 .isRoundingAvailable (currencyUnit , providers );
223218 }
@@ -232,7 +227,7 @@ public static boolean isRoundingAvailable(CurrencyUnit currencyUnit, String... p
232227 * {@link javax.money.spi.RoundingProviderSpi} instance.
233228 */
234229 public static boolean isRoundingAvailable (RoundingQuery roundingQuery ) {
235- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
230+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
236231 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
237232 .isRoundingAvailable (roundingQuery );
238233 }
@@ -246,7 +241,7 @@ public static boolean isRoundingAvailable(RoundingQuery roundingQuery) {
246241 * @return all {@link javax.money.MonetaryRounding} instances matching the query, never {@code null}.
247242 */
248243 public static Collection <MonetaryRounding > getRoundings (RoundingQuery roundingQuery ) {
249- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
244+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
250245 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
251246 .getRoundings (roundingQuery );
252247 }
@@ -260,7 +255,7 @@ public static Collection<MonetaryRounding> getRoundings(RoundingQuery roundingQu
260255 * @return the set of custom rounding ids, never {@code null}.
261256 */
262257 public static Set <String > getRoundingNames (String ... providers ) {
263- return Optional .ofNullable (MONETARY_ROUNDINGS_SINGLETON_SPI ()).orElseThrow (
258+ return Optional .ofNullable (monetaryRoundingsSingletonSpi ()).orElseThrow (
264259 () -> new MonetaryException ("No MonetaryRoundingsSpi loaded, query functionality is not available." ))
265260 .getRoundingNames (providers );
266261 }
@@ -275,10 +270,9 @@ public static Set<String> getRoundingNames(String... providers) {
275270 * implementation class is registered.
276271 */
277272 public static <T extends MonetaryAmount > MonetaryAmountFactory <T > getAmountFactory (Class <T > amountType ) {
278- Optional .ofNullable (monetaryAmountsSingletonSpi ())
273+ MonetaryAmountsSingletonSpi spi = Optional .ofNullable (monetaryAmountsSingletonSpi ())
279274 .orElseThrow (() -> new MonetaryException ("No MonetaryAmountsSingletonSpi loaded." ));
280-
281- MonetaryAmountFactory <T > factory = monetaryAmountsSingletonSpi ().getAmountFactory (amountType );
275+ MonetaryAmountFactory <T > factory = spi .getAmountFactory (amountType );
282276 return Optional .ofNullable (factory ).orElseThrow (
283277 () -> new MonetaryException ("No AmountFactory available for type: " + amountType .getName ()));
284278 }
@@ -344,7 +338,7 @@ public static Class<? extends MonetaryAmount> getDefaultAmountType() {
344338 */
345339 @ SuppressWarnings ("rawtypes" )
346340 public static MonetaryAmountFactory getAmountFactory (MonetaryAmountFactoryQuery query ) {
347- return Optional .ofNullable (MONETARY_AMOUNTS_SINGLETON_QUERY_SPI ()).orElseThrow (() -> new MonetaryException (
341+ return Optional .ofNullable (monetaryAmountsSingletonQuerySpi ()).orElseThrow (() -> new MonetaryException (
348342 "No MonetaryAmountsSingletonQuerySpi loaded, query functionality is not available." ))
349343 .getAmountFactory (query );
350344 }
@@ -356,7 +350,7 @@ public static MonetaryAmountFactory getAmountFactory(MonetaryAmountFactoryQuery
356350 * @return the instances found, never null.
357351 */
358352 public static Collection <MonetaryAmountFactory <?>> getAmountFactories (MonetaryAmountFactoryQuery query ) {
359- return Optional .ofNullable (MONETARY_AMOUNTS_SINGLETON_QUERY_SPI ()).orElseThrow (() -> new MonetaryException (
353+ return Optional .ofNullable (monetaryAmountsSingletonQuerySpi ()).orElseThrow (() -> new MonetaryException (
360354 "No MonetaryAmountsSingletonQuerySpi loaded, query functionality is not available." ))
361355 .getAmountFactories (query );
362356 }
@@ -369,7 +363,7 @@ public static Collection<MonetaryAmountFactory<?>> getAmountFactories(MonetaryAm
369363 * @return true, if at least one {@link MonetaryAmountFactory} matches the query.
370364 */
371365 public static boolean isAvailable (MonetaryAmountFactoryQuery query ) {
372- return Optional .ofNullable (MONETARY_AMOUNTS_SINGLETON_QUERY_SPI ()).orElseThrow (() -> new MonetaryException (
366+ return Optional .ofNullable (monetaryAmountsSingletonQuerySpi ()).orElseThrow (() -> new MonetaryException (
373367 "No MonetaryAmountsSingletonQuerySpi loaded, query functionality is not available." ))
374368 .isAvailable (query );
375369 }
0 commit comments