package hex.createframe.columns; import hex.createframe.CreateFrameColumnMaker; import water.fvec.NewChunk; import water.fvec.Vec; import java.util.Random; /** * Random string column. */ public class StringColumnCfcm extends CreateFrameColumnMaker { private String name; private int len; public StringColumnCfcm() {} public StringColumnCfcm(String colName, int length) { name = colName; len = length; } @Override public void exec(int nrows, NewChunk[] ncs, Random rng) { byte[] buf = new byte[len]; for (int row = 0; row < nrows; ++row) { for (int i = 0; i < len; ++i) buf[i] = (byte)(65 + rng.nextInt(25)); ncs[index].addStr(new String(buf)); } } @Override public String[] columnNames() { return new String[]{name}; } @Override public byte[] columnTypes() { return new byte[]{Vec.T_STR}; } @Override public float byteSizePerRow() { return len; } @Override public int workAmount() { return 60 + len * 50; } }