package eu.dnetlib.enabling.datastructures;

import java.util.SortedSet;

import com.google.common.collect.Sets;

public class VocabularyTerm implements Comparable<VocabularyTerm> {

	private String code;
	private String englishName;
	private String nativeName;
	private String encoding;
	private SortedSet<String> synonyms = Sets.newTreeSet();

	public VocabularyTerm(final String code, final String name, final String encoding) {
		this(code, name, name, encoding);
	}

	public VocabularyTerm(final String code, final String englishName, final String nativeName, final String encoding) {
		this.code = code;
		this.englishName = englishName;
		this.nativeName = nativeName;
		this.encoding = encoding;
	}

	public String getCode() {
		return code;
	}

	public void setCode(final String code) {
		this.code = code;
	}

	public String getEncoding() {
		return encoding;
	}

	public void setEncoding(final String encoding) {
		this.encoding = encoding;
	}

	public String getEnglishName() {
		return englishName;
	}

	public void setEnglishName(final String englishName) {
		this.englishName = englishName;
	}

	public String getNativeName() {
		return nativeName;
	}

	public void setNativeName(final String nativeName) {
		this.nativeName = nativeName;
	}

	public SortedSet<String> getSynonyms() {
		return synonyms;
	}

	public void setSynonyms(final SortedSet<String> synonyms) {
		this.synonyms = synonyms;
	}

	@Override
	public int compareTo(final VocabularyTerm o) {
		return getCode().compareTo(o.getCode());
	}

}
