static private isAlpha ( int type ) : bool | ||
type | int | Word type to check |
return | bool |
// ================================================= Helper Methods ================================================ /// <summary> /// Determines whether the transition from lastType to type indicates a break /// </summary> /// <param name="lastType"> Last subword type </param> /// <param name="type"> Current subword type </param> /// <returns> {@code true} if the transition indicates a break, {@code false} otherwise </returns> private bool isBreak(int lastType, int type) { if ((type & lastType) != 0) { return(false); } if (!splitOnCaseChange && WordDelimiterFilter.isAlpha(lastType) && WordDelimiterFilter.isAlpha(type)) { // ALPHA->ALPHA: always ignore if case isn't considered. return(false); } else if (WordDelimiterFilter.isUpper(lastType) && WordDelimiterFilter.isAlpha(type)) { // UPPER->letter: Don't split return(false); } else if (!splitOnNumerics && ((WordDelimiterFilter.isAlpha(lastType) && WordDelimiterFilter.isDigit(type)) || (WordDelimiterFilter.isDigit(lastType) && WordDelimiterFilter.isAlpha(type)))) { // ALPHA->NUMERIC, NUMERIC->ALPHA :Don't split return(false); } return(true); }
/// <summary> /// Determines if the text at the given position indicates an English possessive which should be removed /// </summary> /// <param name="pos"> Position in the text to check if it indicates an English possessive </param> /// <returns> {@code true} if the text at the position indicates an English posessive, {@code false} otherwise </returns> private bool endsWithPossessive(int pos) { return(stemEnglishPossessive && pos > 2 && text[pos - 2] == '\'' && (text[pos - 1] == 's' || text[pos - 1] == 'S') && WordDelimiterFilter.isAlpha(charType(text[pos - 3])) && (pos == endBounds || WordDelimiterFilter.isSubwordDelim(charType(text[pos])))); }