/**
* This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details.
*/
package edu.illinois.codingspectator.csvtotransactions;
import java.util.ArrayList;
import java.util.List;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
/**
*
* @author Mohsen Vakilian
*
*/
@Parameters(commandDescription= "Generates transactions from a CSV file of items.")
public class CommandLineParameters {
@Parameter(names= { "-n", "--events" }, description= "Path to the CSV file that contains all the events.", required= true)
public String eventsFileName= null;
@Parameter(names= { "-i", "--itemcolumn" }, description= "Name of the column of the CVS file that contains the items.", required= true)
public String itemColumnName;
@Parameter(names= { "-s", "--timestampcolumn" }, description= "Name of the column of the CVS file that contains the timestamps of items.")
public String timestampColumnName= "TIMESTAMP";
@Parameter(names= { "-f", "--fixedcolumns" }, description= "Name of the columns names that should be fixed within a transaction.")
public List<String> fixedColumnNames= new ArrayList<String>();
@Parameter(names= { "-t", "--timewindow" }, description= "This number is minimum number of minutes that splits two consecutive events in two different transactions.")
public long timeWindowInMinutes= 1;
@Parameter(names= { "-d", "--detailedtransactions" }, description= "Path to the output CSV file that will contain detailed information about all transactions.", required= true)
public String detailedTransactionsFileName;
@Parameter(names= { "-p", "--transactionpatterns" }, description= "Path to the output CSV file that will contain the list of all transaction patterns.", required= true)
public String transactionPatternsFileName;
@Parameter(names= { "-h", "--help" }, description= "Print the usage help.")
public boolean help= false;
}