Skip to content

Commit

Permalink
Explicit lambda argument types
Browse files Browse the repository at this point in the history
  • Loading branch information
safris committed Oct 9, 2024
1 parent e6a419b commit dca19a8
Show file tree
Hide file tree
Showing 20 changed files with 87 additions and 77 deletions.
8 changes: 4 additions & 4 deletions src/main/java/org/libj/util/AbstractDigraph.java
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ private TransRandomAccessList<LinkedHashSet<Integer>,ArrayList<LinkedHashSet<Int
return adjEdges;

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

Expand All @@ -274,7 +274,7 @@ private TransRandomAccessList<LinkedHashSet<Integer>,ArrayList<LinkedHashSet<Int
}

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

return edges;
}, null);
Expand Down Expand Up @@ -452,7 +452,7 @@ public Set<K> keySet() {
@Override
public Collection<Set<V>> values() {
final ThreadLocal<Integer> localVertex = new ThreadLocal<>();
return new ObservableCollection<Set<V>>(new TransSet<>(indexToObject.keySet(), v -> {
return new ObservableCollection<Set<V>>(new TransSet<>(indexToObject.keySet(), (final Integer v) -> {
localVertex.set(v);
return get(indexToObject.get(v));
}, null)) {
Expand Down Expand Up @@ -482,7 +482,7 @@ protected boolean beforeRemove(final Object element) {
@Override
@SuppressWarnings({"rawtypes", "unchecked"})
public Set<Map.Entry<K,Set<V>>> entrySet() {
return new ObservableSet<Map.Entry<K,Set<V>>>(new TransSet<>(indexToObject.keySet(), i -> new AbstractMap.SimpleEntry(indexToObject.get(i), getEdgesAtIndex(i, true)), null)) {
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)) {
@Override
protected Object beforeAdd(final Map.Entry<K,Set<V>> element, final Object preventDefault) {
throw new UnsupportedOperationException();
Expand Down
56 changes: 32 additions & 24 deletions src/main/java/org/libj/util/CollectionUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -1863,10 +1863,11 @@ public static void sort(final List<?> data, final byte[] order) {
* @throws IllegalArgumentException If {@code data.size() != order.length}.
*/
public static void sort(final List<?> data, final byte[] order, final ByteComparator comparator) {
if (data.size() != order.length)
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + order.length + "] must be equal");
final int len = order.length;
if (data.size() != len)
throw new IllegalArgumentException("data.size() [" + data.size() + "] and order.length [" + len + "] must be equal");

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/org/libj/util/CompositeList.java
Original file line number Diff line number Diff line change
Expand Up @@ -490,13 +490,13 @@ protected boolean beforeRemove(final int index) {
protected void print(final Logger logger) {
final StringBuilder builder = new StringBuilder();
builder.append(" I:");
indexes.stream().forEach(i -> builder.append(' ').append(i));
indexes.stream().forEach((final int i) -> builder.append(' ').append(i));
builder.append("\n E:");
forEach(e -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
forEach((final E e) -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
builder.append("\n A:");
componentLists.forEach(e -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
componentLists.forEach((final ComponentList e) -> builder.append(' ').append(ObjectUtil.simpleIdentityString(e)));
logger.info(builder.append('\n').toString());
new IdentityHashSet<>(componentLists).forEach(e -> e.print(logger));
new IdentityHashSet<>(componentLists).forEach((final ComponentList e) -> e.print(logger));
}

/**
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/org/libj/util/Interval.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,13 @@ public boolean intersects(final Interval<T> i) {
* Returns {@code true} if an {@link Interval} with the provided {@code min} and {@code max} values intersects this
* {@link Interval}, otherwise {@code false}.
*
* @param min The min value to intersect with.
* @param max The max value to intersect with.
* @param min The min value to intersect with. {@code null} represents a lack of min value.
* @param max The max value to intersect with. {@code null} represents a lack of max value.
* @return {@code true} if an {@link Interval} with the provided {@code min} and {@code max} values intersects this
* {@link Interval}, otherwise {@code false}.
*/
public boolean intersects(final T min, final T max) {
return intersect(min, this.getMax()) && intersect(this.getMin(), max);
// FIXME:... min == null ||
}

private boolean intersect(final T min, final T max) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/libj/util/Locales.java
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public static Locale parse(final String str) {
// Extract language
final int languageIndex = string.indexOf('_');
if (languageIndex < 0) { // No further "_" so is "{language}" only
string.chars().forEach(c -> {
string.chars().forEach((final int c) -> {
if (!Character.isLetterOrDigit(c))
throw new IllegalArgumentException(string);
});
Expand All @@ -137,7 +137,7 @@ public static Locale parse(final String str) {
}

final String language = string.substring(0, languageIndex);
language.chars().forEach(c -> {
language.chars().forEach((final int c) -> {
if (!Character.isLetterOrDigit(c))
throw new IllegalArgumentException(string);
});
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/libj/util/Patterns.java
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ public static String unescape(final String regex) {
return regex;

char ch = regex.charAt(0);
if (ch == '^' && regex.length() == 1)
if (ch == '^' && len == 1)
return "";

final StringBuilder builder = new StringBuilder();
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/libj/util/TransSet.java
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,6 @@ public boolean removeIf(final Predicate<? super T> filter) {
if (sourceToTarget == null)
throw new UnsupportedOperationException();

return target.removeIf((Predicate<S>)t -> filter.test(sourceToTarget.apply(t)));
return target.removeIf((Predicate<S>)(final S t) -> filter.test(sourceToTarget.apply(t)));
}
}
2 changes: 1 addition & 1 deletion src/main/java/org/libj/util/UnmodifiableMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ protected UnmodifiableEntrySet(final Set<? extends Map.Entry<? extends K,? exten

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

@Override
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/libj/util/concurrent/Shutdownables.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public static boolean awaitTermination(final long timeout, final TimeUnit unit,
return shutdownable.awaitTermination(timeout, unit);
}
catch (final InterruptedException e) {
exception.getAndUpdate(ie -> {
exception.getAndUpdate((final InterruptedException ie) -> {
if (ie == null)
return e;

Expand All @@ -79,7 +79,7 @@ public static boolean awaitTermination(final long timeout, final TimeUnit unit,
final List<Future<Boolean>> futures = shutdownExecutor.invokeAll(callables, timeout, unit);
shutdownExecutor.shutdown();
final AtomicReference<ExecutionException> ee = new AtomicReference<>();
final boolean success = futures.stream().allMatch(f -> {
final boolean success = futures.stream().allMatch((final Future<Boolean> f) -> {
try {
return f.get();
}
Expand Down
10 changes: 5 additions & 5 deletions src/main/resources/function/<X>UnaryOperator.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ public interface <X>UnaryOperator {
* @throws NullPointerException If {@code before} is null.
* @see #andThen(<X>UnaryOperator)
*/
default <X>UnaryOperator compose(<X>UnaryOperator before) {
default <X>UnaryOperator compose(final <X>UnaryOperator before) {
Objects.requireNonNull(before);
return (<x> v) -> applyAs<X>(before.applyAs<X>(v));
return (final <x> v) -> applyAs<X>(before.applyAs<X>(v));
}

/**
Expand All @@ -64,9 +64,9 @@ default <X>UnaryOperator compose(<X>UnaryOperator before) {
* @throws NullPointerException If {@code after} is null.
* @see #compose(<X>UnaryOperator)
*/
default <X>UnaryOperator andThen(<X>UnaryOperator after) {
default <X>UnaryOperator andThen(final <X>UnaryOperator after) {
Objects.requireNonNull(after);
return (<x> t) -> after.applyAs<X>(applyAs<X>(t));
return (final <x> t) -> after.applyAs<X>(applyAs<X>(t));
}

/**
Expand All @@ -75,6 +75,6 @@ default <X>UnaryOperator andThen(<X>UnaryOperator after) {
* @return A unary operator that always returns its input argument.
*/
static <X>UnaryOperator identity() {
return t -> t;
return (final <x> t) -> t;
}
}
6 changes: 3 additions & 3 deletions src/test/java/org/libj/util/IteratorsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ public void testIterableList() {
public void testFilter() {
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));

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

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

final Iterator<? super Double> doubleIterator = Iterators.filter(list.iterator(), m -> m instanceof Double);
final Iterator<? super Double> doubleIterator = Iterators.filter(list.iterator(), (final Number m) -> m instanceof Double);
for (int i = 0; doubleIterator.hasNext(); ++i) // [I]
assertEquals((double)i, doubleIterator.next());
}
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/org/libj/util/ObservableCollectionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ protected void afterRemove(final Object element, final RuntimeException e) {
// removeIf()
for (int i = 9; i < 100; i += 23) { // [N]
final int index = i;
collection.removeIf(s -> (expectedString = String.valueOf(index)).equals(s));
collection.removeIf((final String s) -> (expectedString = String.valueOf(index)).equals(s));
assertRemoved();
}

Expand Down
2 changes: 1 addition & 1 deletion src/test/java/org/libj/util/ObservableListTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ else if (String.valueOf(12).equals(element) || String.valueOf(24).equals(element
// removeIf()
for (int i = 9; i < 100; i += 23) { // [N]
final int index = i;
list.removeIf(s -> (expectedString = String.valueOf(index)).equals(s));
list.removeIf((final String s) -> (expectedString = String.valueOf(index)).equals(s));
assertRemoved();
}

Expand Down
2 changes: 1 addition & 1 deletion src/test/java/org/libj/util/ObservableMapTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ protected void afterRemove(final Object key, final String value, final RuntimeEx
for (int i = 9; i < 100; i += 23) { // [N]
final int index = i;
expectedValue = String.valueOf(index);
keys.removeIf(s -> (expectedKey = index).equals(s));
keys.removeIf((final Integer s) -> (expectedKey = index).equals(s));
assertRemoved();
}

Expand Down
6 changes: 3 additions & 3 deletions src/test/java/org/libj/util/RefDigraphTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public String toString() {

@Test
public void testUnspecifiedReference() {
final RefDigraph<Obj,String> digraph = new RefDigraph<>(obj -> obj.id);
final RefDigraph<Obj,String> digraph = new RefDigraph<>((final Obj obj) -> obj.id);
digraph.add(new Obj("a", "b"), "b");
digraph.add(new Obj("b", "c"), "c");
digraph.add(new Obj("c", "a"), "d");
Expand All @@ -54,7 +54,7 @@ public void testUnspecifiedReference() {

@Test
public void testCycle() {
final RefDigraph<Obj,String> digraph = new RefDigraph<>(obj -> obj.id);
final RefDigraph<Obj,String> digraph = new RefDigraph<>((final Obj obj) -> obj.id);
digraph.add(new Obj("a", "b"), "b");
digraph.add(new Obj("b", "c"), "c");
digraph.add(new Obj("c", "a"), "a");
Expand All @@ -69,7 +69,7 @@ public void testCycle() {

@Test
public void testTopological() {
final RefDigraph<Obj,String> digraph = new RefDigraph<>(obj -> obj.id);
final RefDigraph<Obj,String> digraph = new RefDigraph<>((final Obj obj) -> obj.id);
digraph.add(new Obj("a", "b"), "b");
digraph.add(new Obj("b", "c"), "c");
digraph.add(new Obj("c", null), null);
Expand Down
3 changes: 2 additions & 1 deletion src/test/java/org/libj/util/ZipFilesTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.io.File;
import java.io.IOException;
import java.util.NoSuchElementException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

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

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

0 comments on commit dca19a8

Please sign in to comment.