Mercurial > hg > Members > tatsuki > functionaljava-master > core
view src/main/java/fj/TryEffect.java @ 0:fe80c1edf1be
add getLoop
author | tatsuki |
---|---|
date | Fri, 20 Mar 2015 21:04:03 +0900 |
parents | |
children |
line wrap: on
line source
package fj; import fj.data.IO; import fj.data.IOFunctions; import fj.data.Validation; import fj.function.*; import java.io.IOException; /** * Created by mperry on 29/08/2014. */ public class TryEffect { private TryEffect(){} public static <A, Z extends Exception> P1<Validation<Z, Unit>> f(TryEffect0<Z> t) { return P.lazy(u -> { try { t.f(); return Validation.success(Unit.unit()); } catch (Exception e) { return Validation.fail((Z) e); } }); } public static <A, Z extends Exception> F<A, Validation<Z, Unit>> f(TryEffect1<A, Z> t) { return a -> { try { t.f(a); return Validation.success(Unit.unit()); } catch (Exception e) { return Validation.fail((Z) e); } }; } public static <A, B, Z extends Exception> F2<A, B, Validation<Z, Unit>> f(TryEffect2<A, B, Z> t) { return (a, b) -> { try { t.f(a, b); return Validation.success(Unit.unit()); } catch (Exception e) { return Validation.fail((Z) e); } }; } public static <A, B, C, Z extends Exception> F3<A, B, C, Validation<Z, Unit>> f(TryEffect3<A, B, C, Z> t) { return (a, b, c) -> { try { t.f(a, b, c); return Validation.success(Unit.unit()); } catch (Exception e) { return Validation.fail((Z) e); } }; } public static <A, B, C, D, Z extends Exception> F4<A, B, C, D, Validation<Z, Unit>> f(TryEffect4<A, B, C, D, Z> t) { return (a, b, c, d) -> { try { t.f(a, b, c, d); return Validation.success(Unit.unit()); } catch (Exception e) { return Validation.fail((Z) e); } }; } public static <A, B, C, D, E, Z extends Exception> F5<A, B, C, D, E, Validation<Z, Unit>> f(TryEffect5<A, B, C, D, E, Z> t) { return (a, b, c, d, e) -> { try { t.f(a, b, c, d, e); return Validation.success(Unit.unit()); } catch (Exception z) { return Validation.fail((Z) z); } }; } public static <A, B, C, D, E, $F, Z extends Exception> F6<A, B, C, D, E, $F, Validation<Z, Unit>> f(TryEffect6<A, B, C, D, E, $F, Z> t) { return (a, b, c, d, e, f) -> { try { t.f(a, b, c, d, e, f); return Validation.success(Unit.unit()); } catch (Exception z) { return Validation.fail((Z) z); } }; } public static <A, B, C, D, E, $F, G, Z extends Exception> F7<A, B, C, D, E, $F, G, Validation<Z, Unit>> f(TryEffect7<A, B, C, D, E, $F, G, Z> t) { return (a, b, c, d, e, f, g) -> { try { t.f(a, b, c, d, e, f, g); return Validation.success(Unit.unit()); } catch (Exception z) { return Validation.fail((Z) z); } }; } public static <A, B, C, D, E, $F, G, H, Z extends Exception> F8<A, B, C, D, E, $F, G, H, Validation<Z, Unit>> f(TryEffect8<A, B, C, D, E, $F, G, H, Z> t) { return (a, b, c, d, e, f, g, h) -> { try { t.f(a, b, c, d, e, f, g, h); return Validation.success(Unit.unit()); } catch (Exception z) { return Validation.fail((Z) z); } }; } }