package water.api.schemas3;
import water.Iced;
import water.api.API;
import water.api.schemas3.KeyV3.FrameKeyV3;
import water.api.ParseTypeValuesProvider;
public class ParseV3 extends RequestSchemaV3<Iced, ParseV3> {
// Input fields
@API(help="Final frame name",required=true)
public FrameKeyV3 destination_frame; // TODO: for now this has to be a Key, not a Frame, because it doesn't exist
// yet.
@API(help="Source frames",required=true)
public FrameKeyV3[] source_frames;
@API(help="Parser type", valuesProvider = ParseTypeValuesProvider.class)
public String parse_type;
@API(help="Field separator")
public byte separator;
@API(help="Single Quotes")
public boolean single_quotes;
@API(help="Check header: 0 means guess, +1 means 1st line is header not data, -1 means 1st line is data not header")
public int check_header;
@API(help="Number of columns")
public int number_columns;
@API(help="Column names")
public String[] column_names;
@API(help="Value types for columns")
public String[] column_types;
@API(help="Domains for categorical columns")
public String[][] domains;
@API(help="NA strings for columns")
public String[][] na_strings;
@API(help="Size of individual parse tasks", direction=API.Direction.INPUT)
public int chunk_size;
@API(help="Delete input key after parse")
public boolean delete_on_done;
@API(help="Block until the parse completes (as opposed to returning early and requiring polling")
public boolean blocking;
// Output fields
@API(help="Parse job", direction=API.Direction.OUTPUT)
public JobV3 job;
// Zero if blocking==false; row-count if blocking==true
@API(help="Rows", direction=API.Direction.OUTPUT)
public long rows;
}