package com.tyndalehouse.step.core.models.search;
/**
* A type of lexical suggestion
*
* @author chrisburrell
*
*/
public enum SuggestionType {
/**
* only hebrew should be returned
*/
HEBREW,
/**
* A search against hebrew exact forms
*/
HEBREW_EXACT(HEBREW),
/**
* a search against hebrew transliterations
*/
HEBREW_TRANSTLITERATION(HEBREW),
/**
* Hebrew meaning searches
*/
HEBREW_MEANING,
/**
* only greek should be returned
*/
GREEK,
/**
* indicates an exact search against the unicode
*/
GREEK_EXACT(GREEK),
/**
* indicates an exact search against the transliterations
*/
GREEK_TRANSLITERATION(GREEK),
/**
* Greek meaning searches
*/
GREEK_MEANING,
/**
* meaning searches
*/
MEANING,
/**
* A search directly from the strong number
*/
STRONG, SUBJECT_SIMPLE, SUBJECT_EXTENDED, SUBJECT_FULL;
SuggestionType parent;
SuggestionType() {
this.parent = this;
}
/**
* Allows a suggestion type to be mapped to a common denominator. e.g, GREEK_EXACT and GREEK_TRANSLITERATIONS
* are both forms of 'GREEK'
* @param parent
*/
SuggestionType(final SuggestionType parent) {
this.parent = parent;
}
}