code: private void write1column(ColumnVector oneColumn, String columnType, int cIdx, int rowNumber,ParseWriter dout) {
      if(oneColumn.isRepeating && !oneColumn.noNulls) { // ALL NAs
        for(int i = 0; i < rowNumber; ++i)
          dout.addInvalidCol(cIdx);
      } else  switch (columnType.toLowerCase()) {
        case "bigint":
        case "boolean":
        case "int":
        case "smallint":
        case "tinyint":
          writeLongcolumn((LongColumnVector)oneColumn, cIdx, rowNumber, dout);
          break;
        case "float":
        case "double":
          writeDoublecolumn((DoubleColumnVector)oneColumn, cIdx, rowNumber, dout);
          break;
        case "numeric":
        case "real":
          if (oneColumn instanceof LongColumnVector)
            writeLongcolumn((LongColumnVector)oneColumn, cIdx, rowNumber, dout);
          else
            writeDoublecolumn((DoubleColumnVector)oneColumn, cIdx, rowNumber, dout);
          break;
        case "string":
        case "varchar":
        case "char":
  //        case "binary":  //FIXME: only reading it as string right now.
          writeStringcolumn((BytesColumnVector)oneColumn, cIdx, rowNumber, dout);
          break;
        case "date":
        case "timestamp":
          writeTimecolumn((LongColumnVector)oneColumn, columnType, cIdx, rowNumber, dout);
          break;
        case "decimal":
          writeDecimalcolumn((DecimalColumnVector)oneColumn, cIdx, rowNumber, dout);
          break;
        default:
          throw new IllegalArgumentException("Unsupported Orc schema type: " + columnType);
      }
    }
docs: This method writes one column of H2O data frame at a time.
  
  @param oneColumn
  @param columnType
  @param cIdx
  @param rowNumber
  @param dout