package es.uniovi.reflection.patternmining;

public class OptionsConfiguration {
	private static final String copyrightMessage = "Extraction and Classification of Java Syntactic Patterns 1.0 \n";
	public static final String noInputMessage = copyrightMessage + "\nNo inputs specified. Type -help for help.\n";	
	public static final String wrongClassName = copyrightMessage + "\nThe expertise level specified is not correct. Type -help for help.\n";
	public static final String wrongOut = copyrightMessage + "\nThe out option specified is not correct. Type -help for help.\n";
	public static final String helpMessage = copyrightMessage + "\nOptions:\n" +
		"\t-help                    					Displays this usage message (Short form: -?).\n" +
		"\t-encoding:<encoding_name>  					Set the source file encoding name, such as Cp1252 and UTF-8.\n" +
		"                         						If -encoding is not specified, the platform default converter is used. (Short form: -e:<encoding_name>).\n" +		
		"\t-user:<user_id>          					Programmer Id (Short form: -u:<user_id>).\n" +
		"\t-class:low | high       					Expertise level of the programmer (Short form: -c:low).\n" +
		"\t-out:postgresql | introspector | console    			Output option: PostgreSQL database, introspector tool or console.\n" +
		"                         						If -out is not specified, instrospector is used. (Short form: -o:introspector).\n" +
		"\tlist:<file_name>			  					For a large number of source files, list the file names in a file, separated by line breaks.\n" +
		"\tfile1.java ... fileN.java 					A non-empty list of file names.\n" +		
		"\n";
	public static final String errorMessage = copyrightMessage + "\nSome error in the input parameters. Type -help for help.\n";

	public static final String[] helpOptions = { "help", "?" };
	public static final String[] encodingOptions = { "encoding", "e" };
	public static final String[] userOptions = { "user", "u" };
	public static final String[] classOptions = { "class", "c" };	
	public static final String[] classNames = { "low", "high" };
	public static final String[] listOptions = { "list", "l" };	
	public static final String[] outOptions = { "out", "o" };	
	public static final String[] outNames = { "postgresql", "introspector","console" };
	
	public static final String[] optionsPrefix = { "-", "\\" };
	public static final String[] optionsAssignment = { ":", "=" };  
	
	public static final String DEFAULT_USERID = "TEST";
	public static final String DEFAULT_USERCLASS = "LOW";	
	public static final String DEFAULT_ENCODING = "";
	public static final String DEFAULT_OUT = "introspector";
	public static final String DEFAULT_LIST = "";
}
