Package com.ibm.icu.impl.locale
Class LocaleDistance
java.lang.Object
com.ibm.icu.impl.locale.LocaleDistance
Offline-built data for LocaleMatcher.
Mostly but not only the data for mapping locales to their maximized forms.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final boolean
private final int
private final int
private final int
private final int
private static final int
private static final int
private static final int
Distance value bit flag, set by trieNext().private static final int
private static final int
private static final int
static final int
Distance value bit flag, set by the builder.static final int
Bit flag used on the last character of a subtag in the trie.private static final int
private static final int
static final LocaleDistance
static final int
static final int
static final int
static final int
static final int
private final int
Used to get the paradigm region for a cluster, if there is one.private final String[]
private final byte[]
Maps each region to zero or more single-character partitions.private final BytesTrie
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
getBestIndexAndDistance
(LSR desired, LSR[] supportedLSRs, int supportedLSRsLength, int shiftedThreshold, LocaleMatcher.FavorSubtag favorSubtag, LocaleMatcher.Direction direction) Finds the supported LSR with the smallest distance from the desired one.int
(package private) int
int
private static final int
getDesSuppScriptDistance
(BytesTrie iter, long startState, String desired, String supported) static final double
getDistanceDouble
(int indexAndDistance) static final int
getDistanceFloor
(int indexAndDistance) private static final int
getFallbackRegionDistance
(BytesTrie iter, long startState) static final int
getIndex
(int indexAndDistance) private static final int
getRegionPartitionsDistance
(BytesTrie iter, long startState, String desiredPartitions, String supportedPartitions, int threshold) static final int
getShiftedDistance
(int indexAndDistance) private boolean
isMatch
(LSR desired, LSR supported, int shiftedThreshold, LocaleMatcher.FavorSubtag favorSubtag) boolean
isParadigmLSR
(LSR lsr) private String
partitionsForRegion
(LSR lsr) static final int
shiftDistance
(int distance) int
testOnlyDistance
(ULocale desired, ULocale supported, int threshold, LocaleMatcher.FavorSubtag favorSubtag) void
toString()
private static final int
-
Field Details
-
END_OF_SUBTAG
public static final int END_OF_SUBTAGBit flag used on the last character of a subtag in the trie. Must be set consistently by the builder and the lookup code.- See Also:
-
DISTANCE_SKIP_SCRIPT
public static final int DISTANCE_SKIP_SCRIPTDistance value bit flag, set by the builder.- See Also:
-
DISTANCE_IS_FINAL
private static final int DISTANCE_IS_FINALDistance value bit flag, set by trieNext().- See Also:
-
DISTANCE_IS_FINAL_OR_SKIP_SCRIPT
private static final int DISTANCE_IS_FINAL_OR_SKIP_SCRIPT- See Also:
-
DISTANCE_SHIFT
private static final int DISTANCE_SHIFT- See Also:
-
DISTANCE_FRACTION_MASK
private static final int DISTANCE_FRACTION_MASK- See Also:
-
DISTANCE_INT_SHIFT
private static final int DISTANCE_INT_SHIFT- See Also:
-
INDEX_SHIFT
private static final int INDEX_SHIFT- See Also:
-
DISTANCE_MASK
private static final int DISTANCE_MASK- See Also:
-
INDEX_NEG_1
private static final int INDEX_NEG_1- See Also:
-
IX_DEF_LANG_DISTANCE
public static final int IX_DEF_LANG_DISTANCE- See Also:
-
IX_DEF_SCRIPT_DISTANCE
public static final int IX_DEF_SCRIPT_DISTANCE- See Also:
-
IX_DEF_REGION_DISTANCE
public static final int IX_DEF_REGION_DISTANCE- See Also:
-
IX_MIN_REGION_DISTANCE
public static final int IX_MIN_REGION_DISTANCE- See Also:
-
IX_LIMIT
public static final int IX_LIMIT- See Also:
-
ABOVE_THRESHOLD
private static final int ABOVE_THRESHOLD- See Also:
-
DEBUG_OUTPUT
private static final boolean DEBUG_OUTPUT- See Also:
-
trie
-
regionToPartitionsIndex
private final byte[] regionToPartitionsIndexMaps each region to zero or more single-character partitions. -
partitionArrays
-
paradigmLSRs
Used to get the paradigm region for a cluster, if there is one. -
defaultLanguageDistance
private final int defaultLanguageDistance -
defaultScriptDistance
private final int defaultScriptDistance -
defaultRegionDistance
private final int defaultRegionDistance -
minRegionDistance
private final int minRegionDistance -
defaultDemotionPerDesiredLocale
private final int defaultDemotionPerDesiredLocale -
INSTANCE
-
-
Constructor Details
-
LocaleDistance
-
-
Method Details
-
shiftDistance
public static final int shiftDistance(int distance) -
getShiftedDistance
public static final int getShiftedDistance(int indexAndDistance) -
getDistanceDouble
public static final double getDistanceDouble(int indexAndDistance) -
getDistanceFloor
public static final int getDistanceFloor(int indexAndDistance) -
getIndex
public static final int getIndex(int indexAndDistance) -
testOnlyDistance
public int testOnlyDistance(ULocale desired, ULocale supported, int threshold, LocaleMatcher.FavorSubtag favorSubtag) -
getBestIndexAndDistance
public int getBestIndexAndDistance(LSR desired, LSR[] supportedLSRs, int supportedLSRsLength, int shiftedThreshold, LocaleMatcher.FavorSubtag favorSubtag, LocaleMatcher.Direction direction) Finds the supported LSR with the smallest distance from the desired one. Equivalent LSR subtags must be normalized into a canonical form.Returns the index of the lowest-distance supported LSR in the high bits (negative if none has a distance below the threshold), and its distance (0..ABOVE_THRESHOLD) in the low bits.
-
isMatch
private boolean isMatch(LSR desired, LSR supported, int shiftedThreshold, LocaleMatcher.FavorSubtag favorSubtag) -
getDesSuppScriptDistance
-
getRegionPartitionsDistance
-
getFallbackRegionDistance
-
trieNext
-
toString
-
partitionsForRegion
-
isParadigmLSR
-
getDefaultScriptDistance
public int getDefaultScriptDistance() -
getDefaultRegionDistance
int getDefaultRegionDistance() -
getDefaultDemotionPerDesiredLocale
public int getDefaultDemotionPerDesiredLocale() -
testOnlyGetDistanceTable
-
testOnlyPrintDistanceTable
public void testOnlyPrintDistanceTable()
-