Package com.ibm.icu.text
Class RuleBasedTransliterator
java.lang.Object
com.ibm.icu.text.Transliterator
com.ibm.icu.text.RuleBasedTransliterator
- All Implemented Interfaces:
StringTransform
,Transform<String,
String>
Deprecated.
This API is ICU internal only.
RuleBasedTransliterator
is a transliterator
built from a set of rules as defined for
Transliterator.createFromRules(String, String, int)
.
See the class Transliterator
documentation for the rule syntax.- Author:
- Alan Liu
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.icu.text.Transliterator
Transliterator.Factory, Transliterator.Position
-
Field Summary
Fields inherited from class com.ibm.icu.text.Transliterator
FORWARD, REVERSE
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addSourceTargetSet
(UnicodeSet filter, UnicodeSet sourceSet, UnicodeSet targetSet) Deprecated.This API is ICU internal only.protected void
handleTransliterate
(Replaceable text, Transliterator.Position index, boolean incremental) Deprecated.This API is ICU internal only.Deprecated.This API is ICU internal only.toRules
(boolean escapeUnprintable) Deprecated.This API is ICU internal only.Methods inherited from class com.ibm.icu.text.Transliterator
baseToRules, createFromRules, filteredTransliterate, finishTransliteration, getAvailableIDs, getAvailableSources, getAvailableTargets, getAvailableVariants, getDisplayName, getDisplayName, getDisplayName, getElements, getFilter, getFilterAsUnicodeSet, getID, getInstance, getInstance, getInverse, getMaximumContextLength, getSourceSet, getTargetSet, handleGetSourceSet, registerAlias, registerAny, registerClass, registerFactory, registerInstance, setFilter, setID, setMaximumContextLength, transform, transliterate, transliterate, transliterate, transliterate, transliterate, transliterate, unregister
-
Method Details
-
handleTransliterate
@Deprecated protected void handleTransliterate(Replaceable text, Transliterator.Position index, boolean incremental) Deprecated.This API is ICU internal only.- Specified by:
handleTransliterate
in classTransliterator
- Parameters:
text
- the buffer holding transliterated and untransliterated textindex
- the indices indicating the start, limit, context start, and context limit of the text.incremental
- if true, assume more text may be inserted atpos.limit
and act accordingly. Otherwise, transliterate all text betweenpos.start
andpos.limit
and movepos.start
up topos.limit
.- See Also:
-
toRules
Deprecated.This API is ICU internal only.Return a representation of this transliterator as source rules. These rules will produce an equivalent transliterator if used to construct a new transliterator.- Overrides:
toRules
in classTransliterator
- Parameters:
escapeUnprintable
- if true then convert unprintable character to their hex escape representations, \\uxxxx or \\Uxxxxxxxx. Unprintable characters are those other than U+000A, U+0020..U+007E.- Returns:
- rules string
-
addSourceTargetSet
@Deprecated public void addSourceTargetSet(UnicodeSet filter, UnicodeSet sourceSet, UnicodeSet targetSet) Deprecated.This API is ICU internal only.Description copied from class:Transliterator
Returns the set of all characters that may be generated as replacement text by this transliterator, filtered by BOTH the input filter, and the current getFilter().SHOULD BE OVERRIDDEN BY SUBCLASSES. It is probably an error for any transliterator to NOT override this, but we can't force them to for backwards compatibility.
Other methods vector through this.
When gathering the information on source and target, the compound transliterator makes things complicated. For example, suppose we have:
Global FILTER = [ax] a > b; :: NULL; b > c; x > d;
While the filter just allows a and x, b is an intermediate result, which could produce c. So the source and target sets cannot be gathered independently. What we have to do is filter the sources for the first transliterator according to the global filter, intersect that transliterator's filter. Based on that we get the target. The next transliterator gets as a global filter (global + last target). And so on.There is another complication:
Global FILTER = [ax] a >|b; b >c;
Even though b would be filtered from the input, whenever we have a backup, it could be part of the input. So ideally we will change the global filter as we go.- Overrides:
addSourceTargetSet
in classTransliterator
- Parameters:
targetSet
- TODO- See Also:
-
safeClone
Deprecated.This API is ICU internal only.Temporary hack for registry problem. Needs to be replaced by better architecture.
-