Abstract method that concrete subclasses define to implement their transliteration algorithm. This method handles both incremental and non-incremental transliteration. Let
originalStart refer to the value of
pos.start upon entry.
incremental is false, then this method should transliterate all characters between
pos.limit. Upon return
pos.start must ==
incremental is true, then this method should transliterate all characters between
pos.limit that can be unambiguously transliterated, regardless of future insertions of text at
pos.limit. Upon return,
pos.start should be in the range [
pos.start should be positioned such that characters [
pos.start) will not be changed in the future by this transliterator and characters [
pos.limit) are unchanged.
Implementations of this method should also obey the following invariants:
pos.contextLimit should be updated to reflect changes in length of the text between
pos.limit. The difference
pos.contextLimit - pos.limit should not change.
pos.contextStart should not change.
Upon return, neither
pos.limit should be less than
originalStart and text after
pos.limit should not change.
pos.contextStart and text after
pos.contextLimit should be ignored.
Subclasses may safely assume that all characters in [
pos.limit) are filtered. In other words, the filter has already been applied by the time this method is called. See
This method is not for public consumption. Calling this method directly will transliterate [
pos.limit) without applying the filter. End user code should call
transliterate() instead of this method. Subclass code and wrapping transliterators should call
filteredTransliterate() instead of this method.
|text ||the buffer holding transliterated and untransliterated text|
|pos ||the indices indicating the start, limit, context start, and context limit of the text.|
|incremental ||if true, assume more text may be inserted at |
pos.limit and act accordingly. Otherwise, transliterate all text between
pos.limit and move
pos.start up to
- See also:
- transliterate ICU 2.4
Implemented in AnyTransliterator, BreakTransliterator, CaseMapTransliterator, CompoundTransliterator, EscapeTransliterator, NameUnicodeTransliterator, NormalizationTransliterator, NullTransliterator, RuleBasedTransliterator, RemoveTransliterator, TitlecaseTransliterator, UnescapeTransliterator, and UnicodeNameTransliterator.
Referenced by filteredTransliterate().