IoPair.java
package com.github.dakusui.thincrest.metamor;
public interface IoPair<I, O> {
I input();
O output();
class Impl<I, O> implements IoPair<I, O> {
private final I input;
private final O output;
public Impl(I input, O output) {
this.input = input;
this.output = output;
}
@Override
public I input() {
return input;
}
@Override
public O output() {
return output;
}
public String toString() {
return String.format("[%s]=>[%s]", input, output);
}
}
static <I, O> IoPair<I, O> create(I input, O output) {
return new Impl<>(input, output);
}
}