Interface AffixCondition
-
interface AffixConditionChecks the "condition" part of affix definition, as inPFX flag stripping prefix [condition [morphological_fields...]]
-
-
Field Summary
Fields Modifier and Type Field Description static AffixConditionALWAYS_FALSEstatic AffixConditionALWAYS_TRUEstatic java.lang.StringALWAYS_TRUE_KEY
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description booleanacceptsStem(char[] word, int offset, int length)default booleanacceptsStem(java.lang.String stem)static AffixConditioncompile(AffixKind kind, java.lang.String strip, java.lang.String condition, java.lang.String line)Analyzes the given affix kind, strip and condition and returns an object able to efficiently check that condition.private static intcountCharPatterns(java.lang.String condition)private static java.lang.StringescapeDash(java.lang.String re)private static booleanisRegexp(java.lang.String condition)private static AffixConditionregexpCondition(AffixKind kind, java.lang.String condition, int charCount)private static intskipCharPattern(java.lang.String condition, int pos)private static intskipCharPatterns(java.lang.String condition, int count)private static AffixConditionsubstringCondition(AffixKind kind, java.lang.String stemCondition)static java.lang.StringuniqueKey(AffixKind kind, java.lang.String strip, java.lang.String condition)
-
-
-
Field Detail
-
ALWAYS_TRUE_KEY
static final java.lang.String ALWAYS_TRUE_KEY
- See Also:
- Constant Field Values
-
ALWAYS_TRUE
static final AffixCondition ALWAYS_TRUE
-
ALWAYS_FALSE
static final AffixCondition ALWAYS_FALSE
-
-
Method Detail
-
acceptsStem
default boolean acceptsStem(java.lang.String stem)
-
acceptsStem
boolean acceptsStem(char[] word, int offset, int length)- Returns:
- whether the given word matches this condition as a stem with both "strip" and "affix" removed
-
uniqueKey
static java.lang.String uniqueKey(AffixKind kind, java.lang.String strip, java.lang.String condition)
- Returns:
- a key used to deduplicate same condition+strip+kind triples. For trivial conditions
that need no check,
ALWAYS_TRUE_KEYis returned.
-
compile
static AffixCondition compile(AffixKind kind, java.lang.String strip, java.lang.String condition, java.lang.String line)
Analyzes the given affix kind, strip and condition and returns an object able to efficiently check that condition.
-
skipCharPatterns
private static int skipCharPatterns(java.lang.String condition, int count)
-
countCharPatterns
private static int countCharPatterns(java.lang.String condition)
-
skipCharPattern
private static int skipCharPattern(java.lang.String condition, int pos)
-
isRegexp
private static boolean isRegexp(java.lang.String condition)
-
substringCondition
private static AffixCondition substringCondition(AffixKind kind, java.lang.String stemCondition)
-
regexpCondition
private static AffixCondition regexpCondition(AffixKind kind, java.lang.String condition, int charCount)
-
escapeDash
private static java.lang.String escapeDash(java.lang.String re)
-
-