Skip to content

Commit dca19a8

Browse files
committed
Explicit lambda argument types
1 parent e6a419b commit dca19a8

20 files changed

+87
-77
lines changed

src/main/java/org/libj/util/AbstractDigraph.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ private TransRandomAccessList<LinkedHashSet<Integer>,ArrayList<LinkedHashSet<Int
257257
return adjEdges;
258258

259259
final ArrayList<TransSet<Integer,V>> transEdges = new ArrayList<>(initialCapacity);
260-
return adjEdges = new TransRandomAccessList<>(adj, (v, ws) -> {
260+
return adjEdges = new TransRandomAccessList<>(adj, (final Integer v, final LinkedHashSet<Integer> ws) -> {
261261
if (ws == null)
262262
return null;
263263

@@ -274,7 +274,7 @@ private TransRandomAccessList<LinkedHashSet<Integer>,ArrayList<LinkedHashSet<Int
274274
}
275275

276276
if (edges == null)
277-
transEdges.set(v, edges = new TransSet<>(ws, this::indexToValue, o -> objectToIndex.get(o)));
277+
transEdges.set(v, edges = new TransSet<>(ws, this::indexToValue, (final V o) -> objectToIndex.get(o)));
278278

279279
return edges;
280280
}, null);
@@ -452,7 +452,7 @@ public Set<K> keySet() {
452452
@Override
453453
public Collection<Set<V>> values() {
454454
final ThreadLocal<Integer> localVertex = new ThreadLocal<>();
455-
return new ObservableCollection<Set<V>>(new TransSet<>(indexToObject.keySet(), v -> {
455+
return new ObservableCollection<Set<V>>(new TransSet<>(indexToObject.keySet(), (final Integer v) -> {
456456
localVertex.set(v);
457457
return get(indexToObject.get(v));
458458
}, null)) {
@@ -482,7 +482,7 @@ protected boolean beforeRemove(final Object element) {
482482
@Override
483483
@SuppressWarnings({"rawtypes", "unchecked"})
484484
public Set<Map.Entry<K,Set<V>>> entrySet() {
485-
return new ObservableSet<Map.Entry<K,Set<V>>>(new TransSet<>(indexToObject.keySet(), i -> new AbstractMap.SimpleEntry(indexToObject.get(i), getEdgesAtIndex(i, true)), null)) {
485+
return new ObservableSet<Map.Entry<K,Set<V>>>(new TransSet<>(indexToObject.keySet(), (final Integer i) -> new AbstractMap.SimpleEntry(indexToObject.get(i), getEdgesAtIndex(i, true)), null)) {
486486
@Override
487487
protected Object beforeAdd(final Map.Entry<K,Set<V>> element, final Object preventDefault) {
488488
throw new UnsupportedOperationException();

src/main/java/org/libj/util/CollectionUtil.java

+32-24
Original file line numberDiff line numberDiff line change
@@ -1863,10 +1863,11 @@ public static void sort(final List<?> data, final byte[] order) {
18631863
* @throws IllegalArgumentException If {@code data.size() != order.length}.
18641864
*/
18651865
public static void sort(final List<?> data, final byte[] order, final ByteComparator comparator) {
1866-
if (data.size() != order.length)
1867-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
1866+
final int len = order.length;
1867+
if (data.size() != len)
1868+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
18681869

1869-
final int[] idx = PrimitiveSort.buildIndex(order.length);
1870+
final int[] idx = PrimitiveSort.buildIndex(len);
18701871
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
18711872
}
18721873

@@ -1920,10 +1921,11 @@ public static void sort(final List<?> data, final char[] order) {
19201921
* @throws IllegalArgumentException If {@code data.size() != order.length}.
19211922
*/
19221923
public static void sort(final List<?> data, final char[] order, final CharComparator comparator) {
1923-
if (data.size() != order.length)
1924-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
1924+
final int len = order.length;
1925+
if (data.size() != len)
1926+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
19251927

1926-
final int[] idx = PrimitiveSort.buildIndex(order.length);
1928+
final int[] idx = PrimitiveSort.buildIndex(len);
19271929
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
19281930
}
19291931

@@ -1977,10 +1979,11 @@ public static void sort(final List<?> data, final short[] order) {
19771979
* @throws IllegalArgumentException If {@code data.size() != order.length}.
19781980
*/
19791981
public static void sort(final List<?> data, final short[] order, final ShortComparator comparator) {
1980-
if (data.size() != order.length)
1981-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
1982+
final int len = order.length;
1983+
if (data.size() != len)
1984+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
19821985

1983-
final int[] idx = PrimitiveSort.buildIndex(order.length);
1986+
final int[] idx = PrimitiveSort.buildIndex(len);
19841987
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
19851988
}
19861989

@@ -2034,10 +2037,11 @@ public static void sort(final List<?> data, final int[] order) {
20342037
* @throws IllegalArgumentException If {@code data.size() != order.length}.
20352038
*/
20362039
public static void sort(final List<?> data, final int[] order, final IntComparator comparator) {
2037-
if (data.size() != order.length)
2038-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
2040+
final int len = order.length;
2041+
if (data.size() != len)
2042+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
20392043

2040-
final int[] idx = PrimitiveSort.buildIndex(order.length);
2044+
final int[] idx = PrimitiveSort.buildIndex(len);
20412045
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
20422046
}
20432047

@@ -2091,10 +2095,11 @@ public static void sort(final List<?> data, final long[] order) {
20912095
* @throws IllegalArgumentException If {@code data.size() != order.length}.
20922096
*/
20932097
public static void sort(final List<?> data, final long[] order, final LongComparator comparator) {
2094-
if (data.size() != order.length)
2095-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
2098+
final int len = order.length;
2099+
if (data.size() != len)
2100+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
20962101

2097-
final int[] idx = PrimitiveSort.buildIndex(order.length);
2102+
final int[] idx = PrimitiveSort.buildIndex(len);
20982103
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
20992104
}
21002105

@@ -2148,10 +2153,11 @@ public static void sort(final List<?> data, final float[] order) {
21482153
* @throws IllegalArgumentException If {@code data.size() != order.length}.
21492154
*/
21502155
public static void sort(final List<?> data, final float[] order, final FloatComparator comparator) {
2151-
if (data.size() != order.length)
2152-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
2156+
final int len = order.length;
2157+
if (data.size() != len)
2158+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
21532159

2154-
final int[] idx = PrimitiveSort.buildIndex(order.length);
2160+
final int[] idx = PrimitiveSort.buildIndex(len);
21552161
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
21562162
}
21572163

@@ -2205,10 +2211,11 @@ public static void sort(final List<?> data, final double[] order) {
22052211
* @throws IllegalArgumentException If {@code data.size() != order.length}.
22062212
*/
22072213
public static void sort(final List<?> data, final double[] order, final DoubleComparator comparator) {
2208-
if (data.size() != order.length)
2209-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
2214+
final int len = order.length;
2215+
if (data.size() != len)
2216+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
22102217

2211-
final int[] idx = PrimitiveSort.buildIndex(order.length);
2218+
final int[] idx = PrimitiveSort.buildIndex(len);
22122219
PrimitiveSort.sortIndexed(data, order, idx, (o1, o2) -> comparator.compare(order[o1], order[o2]));
22132220
}
22142221

@@ -2265,10 +2272,11 @@ public static <T extends Comparable<? super T>> void sort(final List<?> data, fi
22652272
* @throws IllegalArgumentException If {@code data.size() != order.length}.
22662273
*/
22672274
public static <T> void sort(final List<?> data, final T[] order, final Comparator<? super T> comparator) {
2268-
if (data.size() != order.length)
2269-
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
2275+
final int len = order.length;
2276+
if (data.size() != len)
2277+
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");
22702278

2271-
sortIndexed(data, order, buildIndex(order.length), (o1, o2) -> comparator.compare(order[o1], order[o2]));
2279+
sortIndexed(data, order, buildIndex(len), (o1, o2) -> comparator.compare(order[o1], order[o2]));
22722280
}
22732281

22742282
/**

src/main/java/org/libj/util/CompositeList.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -490,13 +490,13 @@ protected boolean beforeRemove(final int index) {
490490
protected void print(final Logger logger) {
491491
final StringBuilder builder = new StringBuilder();
492492
builder.append(" I:");
493-
indexes.stream().forEach(i -> builder.append(' ').append(i));
493+
indexes.stream().forEach((final int i) -> builder.append(' ').append(i));
494494
builder.append("\n E:");
495-
forEach(e -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
495+
forEach((final E e) -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
496496
builder.append("\n A:");
497-
componentLists.forEach(e -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
497+
componentLists.forEach((final ComponentList e) -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
498498
logger.info(builder.append('\n').toString());
499-
new IdentityHashSet<>(componentLists).forEach(e -> e.print(logger));
499+
new IdentityHashSet<>(componentLists).forEach((final ComponentList e) -> e.print(logger));
500500
}
501501

502502
/**

src/main/java/org/libj/util/Interval.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,13 @@ public boolean intersects(final Interval<T> i) {
123123
* Returns {@code true} if an {@link Interval} with the provided {@code min} and {@code max} values intersects this
124124
* {@link Interval}, otherwise {@code false}.
125125
*
126-
* @param min The min value to intersect with.
127-
* @param max The max value to intersect with.
126+
* @param min The min value to intersect with. {@code null} represents a lack of min value.
127+
* @param max The max value to intersect with. {@code null} represents a lack of max value.
128128
* @return {@code true} if an {@link Interval} with the provided {@code min} and {@code max} values intersects this
129129
* {@link Interval}, otherwise {@code false}.
130130
*/
131131
public boolean intersects(final T min, final T max) {
132132
return intersect(min, this.getMax()) && intersect(this.getMin(), max);
133-
// FIXME:... min == null ||
134133
}
135134

136135
private boolean intersect(final T min, final T max) {

src/main/java/org/libj/util/Locales.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public static Locale parse(final String str) {
128128
// Extract language
129129
final int languageIndex = string.indexOf('_');
130130
if (languageIndex < 0) { // No further "_" so is "{language}" only
131-
string.chars().forEach(c -> {
131+
string.chars().forEach((final int c) -> {
132132
if (!Character.isLetterOrDigit(c))
133133
throw new IllegalArgumentException(string);
134134
});
@@ -137,7 +137,7 @@ public static Locale parse(final String str) {
137137
}
138138

139139
final String language = string.substring(0, languageIndex);
140-
language.chars().forEach(c -> {
140+
language.chars().forEach((final int c) -> {
141141
if (!Character.isLetterOrDigit(c))
142142
throw new IllegalArgumentException(string);
143143
});

src/main/java/org/libj/util/Patterns.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public static String unescape(final String regex) {
216216
return regex;
217217

218218
char ch = regex.charAt(0);
219-
if (ch == '^' && regex.length() == 1)
219+
if (ch == '^' && len == 1)
220220
return "";
221221

222222
final StringBuilder builder = new StringBuilder();

src/main/java/org/libj/util/TransSet.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,6 @@ public boolean removeIf(final Predicate<? super T> filter) {
215215
if (sourceToTarget == null)
216216
throw new UnsupportedOperationException();
217217

218-
return target.removeIf((Predicate<S>)t -> filter.test(sourceToTarget.apply(t)));
218+
return target.removeIf((Predicate<S>)(final S t) -> filter.test(sourceToTarget.apply(t)));
219219
}
220220
}

src/main/java/org/libj/util/UnmodifiableMap.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ protected UnmodifiableEntrySet(final Set<? extends Map.Entry<? extends K,? exten
232232

233233
protected static <K,V> Consumer<Map.Entry<K,V>> entryConsumer(final Consumer<? super Map.Entry<K,V>> action) {
234234
Objects.requireNonNull(action);
235-
return e -> action.accept(new UnmodifiableEntry<>(e));
235+
return (final Map.Entry<K,V> e) -> action.accept(new UnmodifiableEntry<>(e));
236236
}
237237

238238
@Override

src/main/java/org/libj/util/concurrent/Shutdownables.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public static boolean awaitTermination(final long timeout, final TimeUnit unit,
6363
return shutdownable.awaitTermination(timeout, unit);
6464
}
6565
catch (final InterruptedException e) {
66-
exception.getAndUpdate(ie -> {
66+
exception.getAndUpdate((final InterruptedException ie) -> {
6767
if (ie == null)
6868
return e;
6969

@@ -79,7 +79,7 @@ public static boolean awaitTermination(final long timeout, final TimeUnit unit,
7979
final List<Future<Boolean>> futures = shutdownExecutor.invokeAll(callables, timeout, unit);
8080
shutdownExecutor.shutdown();
8181
final AtomicReference<ExecutionException> ee = new AtomicReference<>();
82-
final boolean success = futures.stream().allMatch(f -> {
82+
final boolean success = futures.stream().allMatch((final Future<Boolean> f) -> {
8383
try {
8484
return f.get();
8585
}

src/main/resources/function/<X>UnaryOperator.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ public interface <X>UnaryOperator {
4747
* @throws NullPointerException If {@code before} is null.
4848
* @see #andThen(<X>UnaryOperator)
4949
*/
50-
default <X>UnaryOperator compose(<X>UnaryOperator before) {
50+
default <X>UnaryOperator compose(final <X>UnaryOperator before) {
5151
Objects.requireNonNull(before);
52-
return (<x> v) -> applyAs<X>(before.applyAs<X>(v));
52+
return (final <x> v) -> applyAs<X>(before.applyAs<X>(v));
5353
}
5454

5555
/**
@@ -64,9 +64,9 @@ default <X>UnaryOperator compose(<X>UnaryOperator before) {
6464
* @throws NullPointerException If {@code after} is null.
6565
* @see #compose(<X>UnaryOperator)
6666
*/
67-
default <X>UnaryOperator andThen(<X>UnaryOperator after) {
67+
default <X>UnaryOperator andThen(final <X>UnaryOperator after) {
6868
Objects.requireNonNull(after);
69-
return (<x> t) -> after.applyAs<X>(applyAs<X>(t));
69+
return (final <x> t) -> after.applyAs<X>(applyAs<X>(t));
7070
}
7171

7272
/**
@@ -75,6 +75,6 @@ default <X>UnaryOperator andThen(<X>UnaryOperator after) {
7575
* @return A unary operator that always returns its input argument.
7676
*/
7777
static <X>UnaryOperator identity() {
78-
return t -> t;
78+
return (final <x> t) -> t;
7979
}
8080
}

src/test/java/org/libj/util/IteratorsTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@ public void testIterableList() {
7272
public void testFilter() {
7373
final List<Number> list = Arrays.asList(0, 0d, 1, 1d, 2, BigInteger.ZERO, 3.4f, BigDecimal.ONE, 3, 2d, BigInteger.ONE, 10L, 4f, (short)8, (byte)62, 4, BigInteger.valueOf(2L));
7474

75-
final Iterator<? super Integer> integerIterator = Iterators.filter(list.iterator(), m -> m instanceof Integer);
75+
final Iterator<? super Integer> integerIterator = Iterators.filter(list.iterator(), (final Number m) -> m instanceof Integer);
7676
for (int i = 0; integerIterator.hasNext(); ++i) // [I]
7777
assertEquals(i, integerIterator.next());
7878

79-
final Iterator<? super BigInteger> bigIntegerIterator = Iterators.filter(list.iterator(), m -> m instanceof BigInteger);
79+
final Iterator<? super BigInteger> bigIntegerIterator = Iterators.filter(list.iterator(), (final Number m) -> m instanceof BigInteger);
8080
for (int i = 0; bigIntegerIterator.hasNext(); ++i) // [I]
8181
assertEquals(BigInteger.valueOf(i), bigIntegerIterator.next());
8282

83-
final Iterator<? super Double> doubleIterator = Iterators.filter(list.iterator(), m -> m instanceof Double);
83+
final Iterator<? super Double> doubleIterator = Iterators.filter(list.iterator(), (final Number m) -> m instanceof Double);
8484
for (int i = 0; doubleIterator.hasNext(); ++i) // [I]
8585
assertEquals((double)i, doubleIterator.next());
8686
}

src/test/java/org/libj/util/ObservableCollectionTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ protected void afterRemove(final Object element, final RuntimeException e) {
115115
// removeIf()
116116
for (int i = 9; i < 100; i += 23) { // [N]
117117
final int index = i;
118-
collection.removeIf(s -> (expectedString = String.valueOf(index)).equals(s));
118+
collection.removeIf((final String s) -> (expectedString = String.valueOf(index)).equals(s));
119119
assertRemoved();
120120
}
121121

src/test/java/org/libj/util/ObservableListTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ else if (String.valueOf(12).equals(element) || String.valueOf(24).equals(element
259259
// removeIf()
260260
for (int i = 9; i < 100; i += 23) { // [N]
261261
final int index = i;
262-
list.removeIf(s -> (expectedString = String.valueOf(index)).equals(s));
262+
list.removeIf((final String s) -> (expectedString = String.valueOf(index)).equals(s));
263263
assertRemoved();
264264
}
265265

src/test/java/org/libj/util/ObservableMapTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ protected void afterRemove(final Object key, final String value, final RuntimeEx
125125
for (int i = 9; i < 100; i += 23) { // [N]
126126
final int index = i;
127127
expectedValue = String.valueOf(index);
128-
keys.removeIf(s -> (expectedKey = index).equals(s));
128+
keys.removeIf((final Integer s) -> (expectedKey = index).equals(s));
129129
assertRemoved();
130130
}
131131

src/test/java/org/libj/util/RefDigraphTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public String toString() {
3838

3939
@Test
4040
public void testUnspecifiedReference() {
41-
final RefDigraph<Obj,String> digraph = new RefDigraph<>(obj -> obj.id);
41+
final RefDigraph<Obj,String> digraph = new RefDigraph<>((final Obj obj) -> obj.id);
4242
digraph.add(new Obj("a", "b"), "b");
4343
digraph.add(new Obj("b", "c"), "c");
4444
digraph.add(new Obj("c", "a"), "d");
@@ -54,7 +54,7 @@ public void testUnspecifiedReference() {
5454

5555
@Test
5656
public void testCycle() {
57-
final RefDigraph<Obj,String> digraph = new RefDigraph<>(obj -> obj.id);
57+
final RefDigraph<Obj,String> digraph = new RefDigraph<>((final Obj obj) -> obj.id);
5858
digraph.add(new Obj("a", "b"), "b");
5959
digraph.add(new Obj("b", "c"), "c");
6060
digraph.add(new Obj("c", "a"), "a");
@@ -69,7 +69,7 @@ public void testCycle() {
6969

7070
@Test
7171
public void testTopological() {
72-
final RefDigraph<Obj,String> digraph = new RefDigraph<>(obj -> obj.id);
72+
final RefDigraph<Obj,String> digraph = new RefDigraph<>((final Obj obj) -> obj.id);
7373
digraph.add(new Obj("a", "b"), "b");
7474
digraph.add(new Obj("b", "c"), "c");
7575
digraph.add(new Obj("c", null), null);

src/test/java/org/libj/util/ZipFilesTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.File;
2222
import java.io.IOException;
2323
import java.util.NoSuchElementException;
24+
import java.util.zip.ZipEntry;
2425
import java.util.zip.ZipFile;
2526

2627
import org.junit.Test;
@@ -53,7 +54,7 @@ public void testExtractAll() throws IOException {
5354
public void testExtractSome() throws IOException {
5455
final File file = findJar("junit");
5556
final File destDir = new File(extractDir, "meta");
56-
ZipFiles.extract(new ZipFile(file), destDir, t -> t.getName().startsWith("META-INF/"));
57+
ZipFiles.extract(new ZipFile(file), destDir, (final ZipEntry e) -> e.getName().startsWith("META-INF/"));
5758

5859
assertEquals(1, destDir.list().length);
5960
assertTrue(new File(destDir, "META-INF/MANIFEST.MF").exists());

0 commit comments

Comments
 (0)