Skip to content

Commit ad4110a

Browse files
committed
Fixed several quality issues.
1 parent 042ef36 commit ad4110a

18 files changed

+58
-106
lines changed

src/main/java/javax/money/AbstractContextBuilder.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public B importContext(AbstractContext context){
6868
* @return the Builder, for chaining.
6969
*/
7070
public B set(String key, int value) {
71-
this.data.put(key, Objects.requireNonNull(value));
71+
this.data.put(key, value);
7272
return (B) this;
7373
}
7474

@@ -81,7 +81,7 @@ public B set(String key, int value) {
8181
* @return the Builder, for chaining.
8282
*/
8383
public B set(String key, boolean value) {
84-
this.data.put(key, Objects.requireNonNull(value));
84+
this.data.put(key, value);
8585
return (B) this;
8686
}
8787

@@ -94,7 +94,7 @@ public B set(String key, boolean value) {
9494
* @return the Builder, for chaining.
9595
*/
9696
public B set(String key, long value) {
97-
this.data.put(key, Objects.requireNonNull(value));
97+
this.data.put(key, value);
9898
return (B) this;
9999
}
100100

@@ -107,7 +107,7 @@ public B set(String key, long value) {
107107
* @return the Builder, for chaining.
108108
*/
109109
public B set(String key, float value) {
110-
this.data.put(key, Objects.requireNonNull(value));
110+
this.data.put(key, value);
111111
return (B) this;
112112
}
113113

@@ -119,7 +119,7 @@ public B set(String key, float value) {
119119
* @return the Builder, for chaining.
120120
*/
121121
public B set(String key, double value) {
122-
this.data.put(key, Objects.requireNonNull(value));
122+
this.data.put(key, value);
123123
return (B) this;
124124
}
125125

@@ -132,7 +132,7 @@ public B set(String key, double value) {
132132
* @return the Builder, for chaining.
133133
*/
134134
public B set(String key, char value) {
135-
this.data.put(key, Objects.requireNonNull(value));
135+
this.data.put(key, value);
136136
return (B) this;
137137
}
138138

@@ -142,37 +142,37 @@ public B set(String key, char value) {
142142
* <i>type</i> and {@code attribute.getClass().getName()} as attribute
143143
* <i>name</i>.
144144
*
145-
* @param value the attribute value
145+
* @param value the attribute value, not null.
146146
* @return this Builder, for chaining
147147
*/
148148
public B set(Object value) {
149-
data.put(value.getClass().getName(), value);
149+
data.put(value.getClass().getName(), Objects.requireNonNull(value));
150150
return (B) this;
151151
}
152152

153153
/**
154154
* Sets an attribute, using {@code attribute.getClass()} as attribute
155155
* <i>type</i>.
156156
*
157-
* @param value the attribute value
157+
* @param value the attribute value, not null.
158158
* @param key the attribute's key, not {@code null}
159159
* @return this Builder, for chaining
160160
*/
161161
public B set(String key, Object value) {
162-
data.put(key, value);
162+
data.put(key, Objects.requireNonNull(value));
163163
return (B) this;
164164
}
165165

166166
/**
167167
* Sets an attribute, using {@code attribute.getClass()} as attribute
168168
* <i>type</i>.
169169
*
170-
* @param value the attribute value
170+
* @param value the attribute value, not null.
171171
* @param key the attribute's key, not {@code null}
172172
* @return this Builder, for chaining
173173
*/
174174
public <T> B set(Class<T> key, T value) {
175-
Object old = set(key.getName(), value);
175+
Object old = set(key.getName(), Objects.requireNonNull(value));
176176
if (old != null && old.getClass().isAssignableFrom(value.getClass())) {
177177
return (B) old;
178178
}
@@ -186,8 +186,7 @@ public <T> B set(Class<T> key, T value) {
186186
* @return the Builder for chaining
187187
*/
188188
public B setProviderName(String provider) {
189-
Objects.requireNonNull(provider);
190-
set(AbstractContext.KEY_PROVIDER, provider);
189+
set(AbstractContext.KEY_PROVIDER, Objects.requireNonNull(provider));
191190
return (B) this;
192191
}
193192

src/main/java/javax/money/Monetary.java

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@
1212
*/
1313
package 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

2217
import java.util.Collection;
2318
import 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
}

src/main/java/javax/money/convert/ConversionContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,6 @@ public static ConversionContext from(ProviderContext providerContext, RateType r
141141
*/
142142
public static ConversionContext of(RateType rateType) {
143143
switch (rateType) {
144-
default:
145-
case ANY:
146-
return ANY_CONVERSION;
147144
case DEFERRED:
148145
return DEFERRED_CONVERSION;
149146
case HISTORIC:
@@ -152,6 +149,9 @@ public static ConversionContext of(RateType rateType) {
152149
return REALTIME_CONVERSION;
153150
case OTHER:
154151
return OTHER_CONVERSION;
152+
case ANY:
153+
default:
154+
return ANY_CONVERSION;
155155
}
156156
}
157157

src/main/java/javax/money/convert/MonetaryConversions.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.util.Optional;
2020
import java.util.ServiceLoader;
2121
import java.util.logging.Logger;
22-
import java.util.stream.Stream;
2322

2423
import javax.money.CurrencyUnit;
2524
import javax.money.Monetary;

src/test/java/javax/money/AbstractContextBuilderTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void testSet_Float() throws Exception {
9595
AbstractContextBuilder b = createBuilder();
9696
b.set("myKey", 1.5f);
9797
AbstractContext ctx = b.build();
98-
assertEquals(ctx.getFloat("myKey").floatValue(), 1.5f, 0.0f);
98+
assertEquals(ctx.getFloat("myKey"), 1.5f, 0.0f);
9999
}
100100

101101
@Test
@@ -181,8 +181,6 @@ public void testSetSet() throws Exception {
181181
@Test
182182
public void testRemoveAttributes() throws Exception {
183183
AbstractContextBuilder b = createBuilder();
184-
Set<Number> set = new HashSet<>();
185-
set.add(BigDecimal.ONE);
186184
b.set("myKey", "test");
187185
AbstractContext ctx = b.build();
188186
assertEquals(ctx.getText("myKey"), "test");
@@ -196,8 +194,6 @@ public void testRemoveAttributes() throws Exception {
196194
@Test
197195
public void testToString() throws Exception {
198196
AbstractContextBuilder b = createBuilder();
199-
Set<Number> set = new HashSet<>();
200-
set.add(BigDecimal.ONE);
201197
b.set("myKey", "test");
202198
String toString = b.toString();
203199
assertNotNull(toString);

src/test/java/javax/money/AbstractContextTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ private static class TestContext extends AbstractContext {
144144
private static final long serialVersionUID = 1L;
145145

146146
/**
147-
* Private constructor, used by {@link AbstractContext.AbstractContextBuilder}.
147+
* Private constructor, used by {@link AbstractContextBuilder}.
148148
*
149149
* @param builder the Builder.
150150
*/

src/test/java/javax/money/AbstractDynamicServiceProviderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ protected final <T> void registerService(Class<T> serviceType, T service) {
7272

7373
class TestServiceProvider implements ServiceProvider {
7474

75-
private Map<Class<?>, List<?>> services = new HashMap<>();
75+
private final Map<Class<?>, List<?>> services = new HashMap<>();
7676

7777
@Override
7878
public int getPriority() {

src/test/java/javax/money/AbstractQueryTest.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,7 @@
1010

1111
import org.testng.annotations.Test;
1212

13-
import javax.money.convert.CurrencyConversion;
14-
import javax.money.convert.ExchangeRate;
15-
import javax.money.convert.ExchangeRateProvider;
16-
import javax.money.convert.MonetaryConversions;
17-
import java.time.LocalDate;
18-
import java.util.Collection;
1913
import java.util.List;
20-
import java.util.Locale;
2114

2215
import static org.testng.Assert.*;
2316

src/test/java/javax/money/DummyAmountBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
package javax.money;
1010

1111
/**
12-
* Dummy amount factory only used for testing of the {@link MonetaryAmounts} singleton's delegation
12+
* Dummy amount factory only used for testing of the {@link Monetary} singleton's delegation
1313
* logic.
1414
*
1515
* @author Anatole Tresch

src/test/java/javax/money/DummyAmountFactoryProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import javax.money.spi.MonetaryAmountFactoryProviderSpi;
1212

1313
/**
14-
* Dummy amount factory only used for testing of the {@link MonetaryAmounts} singleton's delegation
14+
* Dummy amount factory only used for testing of the {@link Monetary} singleton's delegation
1515
* logic.
1616
*
1717
* @author Anatole Tresch

0 commit comments

Comments
 (0)