| /* |
| * Copyright 2009 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.i18n.shared; |
| |
| /** |
| * Factories that know how to create GwtLocale instances. |
| */ |
| public interface GwtLocaleFactory { |
| |
| /** |
| * Construct a GWT locale from its component parts. |
| * |
| * Null or empty strings are accepted for parts not present. |
| * |
| * @param language |
| * @param script |
| * @param region |
| * @param variant |
| * @return GwtLocale instance, unique for a given set of values |
| */ |
| GwtLocale fromComponents(String language, String script, String region, |
| String variant); |
| |
| /** |
| * Get a GWT locale from a string conforming to a subset of BCP47 |
| * (specifically assuming extension tags are not present, at most |
| * one variant is present, and grandfathered tags are not supported; |
| * also private-use tags are only supported for the entire tag). |
| * Only minimal validation of BCP47 tags is performed, and will continue |
| * with what it is able to parse if unexpected input is encountered. |
| * |
| * A null or empty string is treated as the default locale. |
| * |
| * @param localeName |
| * @return a locale instance, always the same one for a given localeName |
| */ |
| GwtLocale fromString(String localeName); |
| |
| /** |
| * Returns an instance of the default locale. |
| */ |
| GwtLocale getDefault(); |
| } |