package no.divvun.Analyzer.Objects;

public class LexcOptions {
//	public static final int MAX_OPTION_VALUE = 255; is it?

	public static int SME = 0;
	public static int SMA = 1;
	public static int SMJ = 2;
	public static int SMI = 3;
	public static int SMN = 4;
	public static int SMS = 5;
	public static int NOUN = 10;
	public static int ADJECTIVE = 11;
	public static int VERB = 12;
	public static int ADVERB = 13;
	public static int PROPERNOUN = 14;
	public static int PRONOUN = 15;
	public static int NUMERAL = 16;
	public static int PARTICLE = 17;
	public static int CONJUNCTION = 18;
	public static int INTERJECTION = 19;
	public static int BEANA = 20;
	public static int BOAZU = 21;
	public static int FALIS = 22;
	public static int GADDI = 23;
	public static int GAHPIR = 24;
	public static int GISTTA = 25;
	public static int GOAHTI = 26;
	public static int IIJA = 27;
	public static int JOHTOLAT = 28;
	public static int MALIS = 29;
	public static int MATTAR = 30;
	public static int OLLUVUOHTA = 31;
	public static int SEAMU = 32;
	public static int SUOLU = 33;
	public static int STAHTA = 34;
	public static int VIVVA = 35;
	public static int K = 36;
	public static int R = 37;
	public static int KULTUR = 38;
	public static int TELEFON = 39;
	public static int ACTORLONGSHORT = 40;
	public static int EAPMI = 41;
	public static int BOAHTIN = 42;
	public static int GARGIA = 43;
	public static int BUVSSAT = 44;
	public static int SUBJUNCTION = 45;
	public static int ADPOSITION = 46;
	public static int ACRO = 47;
	public static int ABBR = 48;
	public static int MIDDLE_NOUN = 49;
	public static int NUM = 50;
	
	private static final String sOptionString[] = {
		"sme", "sma", "smj", "smi", "smn", "sms", "", "", "", "",
		"N", "A", "V", "Adv", "N", "Pron", "Num", "Pcle", "CC", "Interj",
		"BEANA", "BOAZU", "FALIS", "GADDI", "GAHPIR", "GISTTA", "GOAHTI",
		"IIJA", "JOHTOLAT", "MALIS", "MATTAR", "OLLUVUOHTA", "SEAMU",
		"SUOLU", "STAHTA", "VIVVA", "K", "R", "KULTUR", "TELEFON",
		"ACTORLONGSHORT", "EAPMI", "BOAHTIN", "GARGIA", "BUVSSAT", "CS",
		"Po", "N+ACR", "ABBR","N", "Num"
	};
	
	public static final String getOption(int code)
    {
        if(code == -1 || sOptionString[code].length() == 0)
        {
            return "UNASSIGNED";
        }
        else
        {
            return sOptionString[code];
        }
    }
	
	public static final int getCode (String option)
	{
		for (int i = 0; i < sOptionString.length; i++) {
			if (option.equals(sOptionString[i]))
				return i;
		}
		
		return -1;
	}
	
	// Cannot be instantiated.
//	private LexcOption () {}
}
