@@ -0,0 +1,815 @@
+package ai.h2o.automl.guessers.column;%0A%0A%0Aimport ai.h2o.automl.colmeta.ColMeta;%0Aimport water.fvec.Vec;%0A%0A/**%0A * A guesser tries to perform some type of action on a column based on some metadata.%0A *%0A * For example, a column name may indicate that the vector is an ID or Date column.%0A *%0A * ColMeta constructor uses reflection to dynamically pickup all guessers at runtime.%0A */%0Apublic abstract class Guesser %7B%0A%0A  protected final ColMeta _cm;%0A%0A  Guesser(ColMeta cm) %7B _cm=cm; %7D%0A%0A  /**%0A   * Void method that possibly mutates the fields of _cm.%0A   */%0A  abstract void guess0(String name, Vec v);%0A%0A  /**%0A   * Shared guess code%0A   * @param name column name%0A   * @param v the actual vec to perform any kind of guessing on%0A   */%0A  public void guess(String name, Vec v) %7B%0A    if( _cm._ignored ) return;%0A    guess0(name,v);%0A  %7D%0A%7D%0A

create an abstract guesser so that colmeta can reflectively lookup guessers