Skip to content

Commit 1b63285

Browse files
committed
Made TryCatchN family take a generic exception type parameter
1 parent 28c0e28 commit 1b63285

20 files changed

+49
-46
lines changed

core/src/main/java/fj/F1Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -830,12 +830,12 @@ static public <A, B> ArrayList<B> mapJ(final F<A, B> f, final ArrayList<A> as) {
830830
* @param t A TryCatch1 to promote
831831
* @return A Validation with an Exception on the failure side and its result on the success side.
832832
*/
833-
static public <A, B> F<A, Validation<Exception, B>> toF1(final TryCatch1<A, B> t) {
833+
static public <A, B, E extends Exception> F<A, Validation<E, B>> toF1(final TryCatch1<A, B, E> t) {
834834
return a -> {
835835
try {
836836
return Validation.success(t.f(a));
837837
} catch (Exception e) {
838-
return Validation.fail(e);
838+
return Validation.fail((E) e);
839839
}
840840
};
841841
}

core/src/main/java/fj/F2Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,12 +353,12 @@ public P3<Stream<Tree<C>>, C, Stream<Tree<C>>> f(final P3<Stream<Tree<A>>, A, St
353353
* @param t A TryCatch2 to promote
354354
* @return A Validation with an Exception on the failure side and its result on the success side.
355355
*/
356-
static public <A, B, C> F2<A, B, Validation<Exception, C>> toF2(final TryCatch2<A, B, C> t) {
356+
static public <A, B, C, E extends Exception> F2<A, B, Validation<E, C>> toF2(final TryCatch2<A, B, C, E> t) {
357357
return (a, b) -> {
358358
try {
359359
return Validation.success(t.f(a, b));
360360
} catch (Exception e) {
361-
return Validation.fail(e);
361+
return Validation.fail((E) e);
362362
}
363363
};
364364
}

core/src/main/java/fj/F3Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public class F3Functions {
1616
* @param t A TryCatch3 to promote
1717
* @return A Validation with an Exception on the failure side and its result on the success side.
1818
*/
19-
static public <A, B, C, D> F3<A, B, C, Validation<Exception, D>> toF3(final TryCatch3<A, B, C, D> t) {
19+
static public <A, B, C, D, E extends Exception> F3<A, B, C, Validation<E, D>> toF3(final TryCatch3<A, B, C, D, E> t) {
2020
return (a, b, c) -> {
2121
try {
2222
return success(t.f(a, b, c));
2323
} catch (Exception e) {
24-
return fail(e);
24+
return fail((E) e);
2525
}
2626
};
2727
}

core/src/main/java/fj/F4Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ public class F4Functions {
1414
* @param t A TryCatch4 to promote
1515
* @return A Validation with an Exception on the failure side and its result on the success side.
1616
*/
17-
static public <A, B, C, D, E> F4<A, B, C, D, Validation<Exception, E>> toF4(final TryCatch4<A, B, C, D, E> t) {
17+
static public <A, B, C, D, E, Z extends Exception> F4<A, B, C, D, Validation<Z, E>> toF4(final TryCatch4<A, B, C, D, E, Z> t) {
1818
return (a, b, c, d) -> {
1919
try {
2020
return Validation.success(t.f(a, b, c, d));
2121
} catch (Exception ex) {
22-
return Validation.fail(ex);
22+
return Validation.fail((Z) ex);
2323
}
2424
};
2525
}

core/src/main/java/fj/F5Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ public class F5Functions {
1313
* @param t A TryCatch5 to promote
1414
* @return A Validation with an Exception on the failure side and its result on the success side.
1515
*/
16-
static public <A, B, C, D, E, F> F5<A, B, C, D, E, Validation<Exception, F>> toF5(final TryCatch5<A, B, C, D, E, F> t) {
16+
static public <A, B, C, D, E, F, Z extends Exception> F5<A, B, C, D, E, Validation<Z, F>> toF5(final TryCatch5<A, B, C, D, E, F, Z> t) {
1717
return (a, b, c, d, e) -> {
1818
try {
1919
return Validation.success(t.f(a, b, c, d, e));
2020
} catch (Exception ex) {
21-
return Validation.fail(ex);
21+
return Validation.fail((Z) ex);
2222
}
2323
};
2424
}

core/src/main/java/fj/F6Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ public class F6Functions {
1313
* @param t A TryCatch6 to promote
1414
* @return A Validation with an Exception on the failure side and its result on the success side.
1515
*/
16-
static public <A, B, C, D, E, F, G> F6<A, B, C, D, E, F, Validation<Exception, G>> toF6(final TryCatch6<A, B, C, D, E, F, G> t) {
16+
static public <A, B, C, D, E, F, G, Z extends Exception> F6<A, B, C, D, E, F, Validation<Z, G>> toF6(final TryCatch6<A, B, C, D, E, F, G, Z> t) {
1717
return (a, b, c, d, e, f) -> {
1818
try {
1919
return Validation.success(t.f(a, b, c, d, e, f));
2020
} catch (Exception ex) {
21-
return Validation.fail(ex);
21+
return Validation.fail((Z) ex);
2222
}
2323
};
2424
}

core/src/main/java/fj/F7Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ public class F7Functions {
1313
* @param t A TryCatch7 to promote
1414
* @return A Validation with an Exception on the failure side and its result on the success side.
1515
*/
16-
static public <A, B, C, D, E, F, G, H> F7<A, B, C, D, E, F, G, Validation<Exception, H>> toF7(final TryCatch7<A, B, C, D, E, F, G, H> t) {
16+
static public <A, B, C, D, E, F, G, H, Z extends Exception> F7<A, B, C, D, E, F, G, Validation<Z, H>> toF7(final TryCatch7<A, B, C, D, E, F, G, H, Z> t) {
1717
return (a, b, c, d, e, f, g) -> {
1818
try {
1919
return Validation.success(t.f(a, b, c, d, e, f, g));
2020
} catch (Exception ex) {
21-
return Validation.fail(ex);
21+
return Validation.fail((Z) ex);
2222
}
2323
};
2424
}

core/src/main/java/fj/F8Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ public class F8Functions {
1313
* @param t A TryCatch8 to promote
1414
* @return A Validation with an Exception on the failure side and its result on the success side.
1515
*/
16-
static public <A, B, C, D, E, F, G, H, I> F8<A, B, C, D, E, F, G, H, Validation<Exception, I>> toF8(final TryCatch8<A, B, C, D, E, F, G, H, I> t) {
16+
static public <A, B, C, D, E, F, G, H, I, Z extends Exception> F8<A, B, C, D, E, F, G, H, Validation<Z, I>> toF8(final TryCatch8<A, B, C, D, E, F, G, H, I, Z> t) {
1717
return (a, b, c, d, e, f, g, h) -> {
1818
try {
1919
return Validation.success(t.f(a, b, c, d, e, f, g, h));
2020
} catch (Exception ex) {
21-
return Validation.fail(ex);
21+
return Validation.fail((Z) ex);
2222
}
2323
};
2424
}

core/src/main/java/fj/P1Functions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,12 @@ public A f(final B b) {
224224
* @param t A TryCatch0 to promote
225225
* @return A Validation with an Exception on the failure side and its result on the success side.
226226
*/
227-
static public <A> P1<Validation<Exception, A>> toP1(final TryCatch0<A> t) {
227+
static public <A, E extends Exception> P1<Validation<E, A>> toP1(final TryCatch0<A, E> t) {
228228
return () -> {
229229
try {
230230
return Validation.success(t.f());
231231
} catch (Exception e) {
232-
return Validation.fail(e);
232+
return Validation.fail((E) e);
233233
}
234234
};
235235
}

core/src/main/java/fj/TryCatch0.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
* @version %build.number%
1010
*/
1111

12-
public interface TryCatch0<A> {
12+
public interface TryCatch0<A, E extends Exception> {
1313

14-
A f() throws Exception;
14+
A f() throws E;
1515

1616
}

0 commit comments

Comments
 (0)