package water.fvec;
import water.Key;
import water.DKV;
/**
* A simple wrapper over another Vec. Transforms either data values or rows.
*/
public abstract class WrappedVec extends Vec {
/** A key for underlying vector which contains values which are transformed by this vector. */
final Key _masterVecKey;
/** Cached instances of underlying vector. */
transient Vec _masterVec;
public WrappedVec(Key masterVecKey, Key key, long[] espc) {
super(key, espc);
_masterVecKey = masterVecKey;
}
@Override public Vec masterVec() {
if( _masterVec==null ) _masterVec = DKV.get(_masterVecKey).get();
return _masterVec;
}
// Map from chunk-index to Chunk. These wrappers are making custom Chunks
abstract public Chunk chunkForChunkIdx(int cidx);
}