package hex;
import water.Iced;
import water.Job;
import water.Key;
import water.Keyed;
/**
* Representation of transformation from type X to Y.
*
* Experimental API (to support nice Java/Scala API) and share common code with ModelBuilder.
*/
abstract public class Transformer<T extends Keyed> extends Iced {
public final Job<T> _job;
public Transformer(Key<T> dest, String clz_of_T, String desc) { _job = new Job(dest, clz_of_T, desc); }
/** Execution endpoint for transformations. */
public final Job<T> exec() { return execImpl(); }
/** Implementation endpoint for transformations. */
protected abstract Job<T> execImpl();
}