mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-14 17:24:01 +00:00
ICU-7125 initial version (needs @internal/@draft/TODO cleanup)
X-SVN-Rev: 27374
This commit is contained in:
parent
21c14b4470
commit
86ac11f3a4
1 changed files with 18 additions and 17 deletions
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
****************************************************************************************
|
||||
* Copyright (C) 2009, Google, Inc.; International Business Machines Corporation and *
|
||||
* Copyright (C) 2010, Google, Inc.; International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
****************************************************************************************
|
||||
*/
|
||||
|
@ -64,6 +64,7 @@ import com.ibm.icu.util.ULocale;
|
|||
* fr;q=1.0
|
||||
* ja;q=1.0</pre>
|
||||
* @author markdavis@google.com
|
||||
* @draft ICU 4.4
|
||||
*/
|
||||
public class LocalePriorityList implements Iterable<ULocale> {
|
||||
private static final double D0 = 0.0d;
|
||||
|
@ -80,8 +81,8 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param languageCode locale/language to be added
|
||||
* @return internal builder, for chaining
|
||||
*/
|
||||
public static LanguagePriorityListBuilder add(ULocale languageCode) {
|
||||
return new LanguagePriorityListBuilder().add(languageCode);
|
||||
public static Builder add(ULocale languageCode) {
|
||||
return new Builder().add(languageCode);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -91,8 +92,8 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param weight value from 0.0 to 1.0
|
||||
* @return internal builder, for chaining
|
||||
*/
|
||||
public static LanguagePriorityListBuilder add(ULocale languageCode, final double weight) {
|
||||
return new LanguagePriorityListBuilder().add(languageCode, weight);
|
||||
public static Builder add(ULocale languageCode, final double weight) {
|
||||
return new Builder().add(languageCode, weight);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -101,8 +102,8 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param languagePriorityList list to add all the members of
|
||||
* @return internal builder, for chaining
|
||||
*/
|
||||
public static LanguagePriorityListBuilder add(LocalePriorityList languagePriorityList) {
|
||||
return new LanguagePriorityListBuilder().add(languagePriorityList);
|
||||
public static Builder add(LocalePriorityList languagePriorityList) {
|
||||
return new Builder().add(languagePriorityList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -112,8 +113,8 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param acceptLanguageString String in rfc2616 format (but leniently parsed)
|
||||
* @return internal builder, for chaining
|
||||
*/
|
||||
public static LanguagePriorityListBuilder add(String acceptLanguageString) {
|
||||
return new LanguagePriorityListBuilder().add(acceptLanguageString);
|
||||
public static Builder add(String acceptLanguageString) {
|
||||
return new Builder().add(acceptLanguageString);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -170,10 +171,10 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Internal class used for building LanguagePriorityLists
|
||||
* @internal
|
||||
* Class used for building LanguagePriorityLists
|
||||
* @draft ICU 4.4
|
||||
*/
|
||||
public static class LanguagePriorityListBuilder {
|
||||
public static class Builder {
|
||||
/**
|
||||
* These store the input languages and weights, in chronological order,
|
||||
* where later additions override previous ones.
|
||||
|
@ -208,7 +209,7 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
return new LocalePriorityList(Collections.unmodifiableMap(temp));
|
||||
}
|
||||
|
||||
public LanguagePriorityListBuilder add(
|
||||
public Builder add(
|
||||
final LocalePriorityList languagePriorityList) {
|
||||
for (final ULocale language : languagePriorityList.languagesAndWeights
|
||||
.keySet()) {
|
||||
|
@ -223,7 +224,7 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param languageCode to add with weight 1.0
|
||||
* @return this, for chaining
|
||||
*/
|
||||
public LanguagePriorityListBuilder add(final ULocale languageCode) {
|
||||
public Builder add(final ULocale languageCode) {
|
||||
return add(languageCode, D1);
|
||||
}
|
||||
|
||||
|
@ -233,7 +234,7 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param languageCodes List of language codes.
|
||||
* @return this, for chaining.
|
||||
*/
|
||||
public LanguagePriorityListBuilder add(ULocale... languageCodes) {
|
||||
public Builder add(ULocale... languageCodes) {
|
||||
for (final ULocale languageCode : languageCodes) {
|
||||
add(languageCode, D1);
|
||||
}
|
||||
|
@ -248,7 +249,7 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param weight value between 0.0 and 1.1
|
||||
* @return this, for chaining.
|
||||
*/
|
||||
public LanguagePriorityListBuilder add(final ULocale languageCode,
|
||||
public Builder add(final ULocale languageCode,
|
||||
double weight) {
|
||||
if (languageToWeight.containsKey(languageCode)) {
|
||||
languageToWeight.remove(languageCode);
|
||||
|
@ -268,7 +269,7 @@ public class LocalePriorityList implements Iterable<ULocale> {
|
|||
* @param acceptLanguageList in rfc2616 format
|
||||
* @return this, for chaining.
|
||||
*/
|
||||
public LanguagePriorityListBuilder add(final String acceptLanguageList) {
|
||||
public Builder add(final String acceptLanguageList) {
|
||||
final String[] items = languageSplitter.split(acceptLanguageList.trim());
|
||||
final Matcher itemMatcher = weightSplitter.matcher("");
|
||||
for (final String item : items) {
|
||||
|
|
Loading…
Add table
Reference in a new issue