Package com.ibm.icu.impl.locale
Class LikelySubtags
- java.lang.Object
-
- com.ibm.icu.impl.locale.LikelySubtags
-
public final class LikelySubtags extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LikelySubtags.Data
-
Field Summary
Fields Modifier and Type Field Description private static boolean
DEBUG_OUTPUT
private int
defaultLsrIndex
static LikelySubtags
INSTANCE
private java.util.Map<java.lang.String,java.lang.String>
languageAliases
private LSR[]
lsrs
private static java.lang.String
PSEUDO_ACCENTS_PREFIX
private static java.lang.String
PSEUDO_BIDI_PREFIX
private static java.lang.String
PSEUDO_CRACKED_PREFIX
private java.util.Map<java.lang.String,java.lang.String>
regionAliases
static int
SKIP_SCRIPT
private BytesTrie
trie
private long[]
trieFirstLetterStates
private long
trieUndState
private long
trieUndZzzzState
-
Constructor Summary
Constructors Modifier Constructor Description private
LikelySubtags(LikelySubtags.Data data)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ULocale
canonicalize(ULocale locale)
Implementation of LocaleMatcher.canonicalize(ULocale).(package private) int
compareLikely(LSR lsr, LSR other, int likelyInfo)
Tests whether lsr is "more likely" than other.private static java.lang.String
getCanonical(java.util.Map<java.lang.String,java.lang.String> aliases, java.lang.String alias)
private int
getLikelyIndex(java.lang.String language, java.lang.String script)
private java.util.Map<java.lang.String,LSR>
getTable()
private boolean
isMacroregion(java.lang.String region)
Helper method to find out a region is a macroregionprivate LSR
makeMaximizedLsr(java.lang.String language, java.lang.String script, java.lang.String region, java.lang.String variant, boolean returnInputIfUnmatch)
LSR
makeMaximizedLsrFrom(ULocale locale, boolean returnInputIfUnmatch)
LSR
makeMaximizedLsrFrom(java.util.Locale locale)
private LSR
maximize(java.lang.String language, java.lang.String script, java.lang.String region, boolean returnInputIfUnmatch)
Raw access to addLikelySubtags.LSR
minimizeSubtags(java.lang.String languageIn, java.lang.String scriptIn, java.lang.String regionIn, ULocale.Minimize fieldToFavor)
java.lang.String
toString()
private static int
trieNext(BytesTrie iter, java.lang.String s, int i)
-
-
-
Field Detail
-
PSEUDO_ACCENTS_PREFIX
private static final java.lang.String PSEUDO_ACCENTS_PREFIX
- See Also:
- Constant Field Values
-
PSEUDO_BIDI_PREFIX
private static final java.lang.String PSEUDO_BIDI_PREFIX
- See Also:
- Constant Field Values
-
PSEUDO_CRACKED_PREFIX
private static final java.lang.String PSEUDO_CRACKED_PREFIX
- See Also:
- Constant Field Values
-
SKIP_SCRIPT
public static final int SKIP_SCRIPT
- See Also:
- Constant Field Values
-
DEBUG_OUTPUT
private static final boolean DEBUG_OUTPUT
- See Also:
- Constant Field Values
-
INSTANCE
public static final LikelySubtags INSTANCE
-
languageAliases
private final java.util.Map<java.lang.String,java.lang.String> languageAliases
-
regionAliases
private final java.util.Map<java.lang.String,java.lang.String> regionAliases
-
trie
private final BytesTrie trie
-
trieUndState
private final long trieUndState
-
trieUndZzzzState
private final long trieUndZzzzState
-
defaultLsrIndex
private final int defaultLsrIndex
-
trieFirstLetterStates
private final long[] trieFirstLetterStates
-
lsrs
private final LSR[] lsrs
-
-
Constructor Detail
-
LikelySubtags
private LikelySubtags(LikelySubtags.Data data)
-
-
Method Detail
-
canonicalize
public ULocale canonicalize(ULocale locale)
Implementation of LocaleMatcher.canonicalize(ULocale).
-
getCanonical
private static java.lang.String getCanonical(java.util.Map<java.lang.String,java.lang.String> aliases, java.lang.String alias)
-
makeMaximizedLsrFrom
public LSR makeMaximizedLsrFrom(java.util.Locale locale)
-
makeMaximizedLsr
private LSR makeMaximizedLsr(java.lang.String language, java.lang.String script, java.lang.String region, java.lang.String variant, boolean returnInputIfUnmatch)
-
isMacroregion
private boolean isMacroregion(java.lang.String region)
Helper method to find out a region is a macroregion
-
maximize
private LSR maximize(java.lang.String language, java.lang.String script, java.lang.String region, boolean returnInputIfUnmatch)
Raw access to addLikelySubtags. Input must be in canonical format, eg "en", not "eng" or "EN".
-
compareLikely
int compareLikely(LSR lsr, LSR other, int likelyInfo)
Tests whether lsr is "more likely" than other. For example, fr-Latn-FR is more likely than fr-Latn-CH because FR is the default region for fr-Latn.The likelyInfo caches lookup information between calls. The return value is an updated likelyInfo value, with bit 0 set if lsr is "more likely". The initial value of likelyInfo must be negative.
-
getLikelyIndex
private int getLikelyIndex(java.lang.String language, java.lang.String script)
-
trieNext
private static final int trieNext(BytesTrie iter, java.lang.String s, int i)
-
minimizeSubtags
public LSR minimizeSubtags(java.lang.String languageIn, java.lang.String scriptIn, java.lang.String regionIn, ULocale.Minimize fieldToFavor)
-
getTable
private java.util.Map<java.lang.String,LSR> getTable()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-