Skip to content

Commit

Permalink
Use ScalarWithFallback object instead of try-catch operations
Browse files Browse the repository at this point in the history
  • Loading branch information
lxpdd committed Apr 28, 2020
1 parent 5700099 commit 7584ff8
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions src/main/java/org/cactoos/iterable/IterableOf.java
Expand Up @@ -31,10 +31,11 @@
import org.cactoos.func.UncheckedFunc;
import org.cactoos.iterator.IteratorOf;
import org.cactoos.scalar.And;
import org.cactoos.scalar.Checked;
import org.cactoos.scalar.FallbackFrom;
import org.cactoos.scalar.False;
import org.cactoos.scalar.Folded;
import org.cactoos.scalar.Or;
import org.cactoos.scalar.ScalarWithFallback;
import org.cactoos.scalar.Sticky;
import org.cactoos.scalar.SumOfInt;
import org.cactoos.scalar.True;
Expand Down Expand Up @@ -159,21 +160,21 @@ public boolean equals(final Object other) {
() -> Iterable.class.isAssignableFrom(other.getClass()),
() -> {
final Iterable<X> compared = (Iterable<X>) other;
boolean equals;
try {
equals = new Checked<>(
new And(
(X value) -> new True().value(),
new Matched<>(
this,
compared
)
), e -> new IllegalStateException()
).value();
} catch (final IllegalStateException exception) {
equals = new False().value();
}
return equals;
return new ScalarWithFallback<>(
new And(
(X value) -> new True().value(),
new Matched<>(
this,
compared
)
),
new IterableOf<>(
new FallbackFrom<>(
IllegalStateException.class,
ex -> new False().value()
)
)
).value();
}
)
)
Expand Down

0 comments on commit 7584ff8

Please sign in to comment.