package no.divvun.Analyzer.Objects;

public class Entry {
	private String iWord;
	private int iLang;
	private int iPOS;
	private String iInfl;
	private String iCmp = new String("");
	
//	private Analysis iAnalysis;
	private Paradigm iParadigm;
	
	/**
	 * @return Returns the iCmp.
	 */
	public String getCmp() {
		return iCmp;
	}

	/**
	 * @param cmp The iCmp to set.
	 */
	public void setCmp(String cmp) {
		iCmp = cmp;
	}

	public Entry (String aWord, int aLang, int aPOS, String aInfl) {
		iWord = aWord;
		iLang = aLang;
		iInfl = aInfl;
		iPOS = aPOS;
	}
	
	public Entry (String aWord, int aLang, int aPOS, String aInfl, String aCmp) {
		this (aWord, aLang, aPOS, aInfl);
		iCmp = aCmp;
	}

	/**
	 * @return Returns the iPOS.
	 */
	public int getPOS() {
		return iPOS;
	}
	
	public String getsPOS() {
		return LexcOptions.getOption(iPOS);
	}

	/**
	 * @param pos The POS to set.
	 */
	public void setPOS(int POS) {
		iPOS = POS;
	}

	/**
	 * @return Returns the iInfl.
	 */
	public String getInfl() {
		return iInfl;
	}

	/**
	 * @param infl The iInfl to set.
	 */
	public void setInfl(String infl) {
		iInfl = infl;
	}

	/**
	 * @return Returns the iLang.
	 */
	public int getLang() {
		return iLang;
	}

	/**
	 * @param lang The iLang to set.
	 */
	public void setLang(int lang) {
		iLang = lang;
	}

	/**
	 * @return Returns the iWord.
	 */
	public String getWord() {
		return iWord;
	}

	/**
	 * @param word The iWord to set.
	 */
	public void setWord(String word) {
		iWord = word;
	}

	/**
	 * @return Returns the Paradigm.
	 */
	public Paradigm getParadigm() {
		return iParadigm;
	}

	/**
	 * @param paradigm The Paradigm to set.
	 */
	public void setParadigm(Paradigm paradigm) {
		iParadigm = paradigm;
	}
	
	/**
	 * @param paradigm The Paradigm to be added.
	 */
	public void addParadigm(Paradigm paradigm) {
		if (iParadigm == null) {
			iParadigm = paradigm;
		}
		
		else {
			for(int i = 0; i < paradigm.size(); i++) {
				iParadigm.add(paradigm.get(i));
			}
		}
	}
}
