public abstract class BiFunction<A,B> { | |
public abstract B apply(A a); | |
public abstract A unapply(B b); | |
public BiFunction<B,A> flip() { | |
return new BiFunction<B, A>() { | |
public A apply(B b) { | |
return BiFunction.this.unapply(b); | |
} | |
public B unapply(A a) { | |
return BiFunction.this.apply(a); | |
} | |
}; | |
} | |
} |