Class ICUResourceBundle

    • Field Detail

      • ICU_DATA_PATH

        @Deprecated
        protected static final String ICU_DATA_PATH
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The data path to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_BUNDLE

        @Deprecated
        public static final String ICU_BUNDLE
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The data path to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_BASE_NAME

        @Deprecated
        public static final String ICU_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The base name of ICU data to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_COLLATION_BASE_NAME

        @Deprecated
        public static final String ICU_COLLATION_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The base name of collation data to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_BRKITR_BASE_NAME

        @Deprecated
        public static final String ICU_BRKITR_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The base name of rbbi data to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_RBNF_BASE_NAME

        @Deprecated
        public static final String ICU_RBNF_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The base name of rbnf data to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_TRANSLIT_BASE_NAME

        @Deprecated
        public static final String ICU_TRANSLIT_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        The base name of transliterator data to be used with getBundleInstance API
        See Also:
        Constant Field Values
      • ICU_LANG_BASE_NAME

        @Deprecated
        public static final String ICU_LANG_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        See Also:
        Constant Field Values
      • ICU_CURR_BASE_NAME

        @Deprecated
        public static final String ICU_CURR_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        See Also:
        Constant Field Values
      • ICU_REGION_BASE_NAME

        @Deprecated
        public static final String ICU_REGION_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        See Also:
        Constant Field Values
      • ICU_ZONE_BASE_NAME

        @Deprecated
        public static final String ICU_ZONE_BASE_NAME
        Deprecated.
        because not specific to resource bundles; use the ICUData constants instead
        See Also:
        Constant Field Values
      • ICU_DATA_CLASS_LOADER

        public static final ClassLoader ICU_DATA_CLASS_LOADER
        The class loader constant to be used with getBundleInstance API
      • INSTALLED_LOCALES

        protected static final String INSTALLED_LOCALES
        The name of the resource containing the installed locales
        See Also:
        Constant Field Values
      • key

        protected String key
        Data member where the subclasses store the key.
      • RES_BOGUS

        public static final int RES_BOGUS
        A resource word value that means "no resource". Note: 0xffffffff == -1 This has the same value as UResourceBundle.NONE, but they are semantically different and should be used appropriately according to context: NONE means "no type". (The type of RES_BOGUS is RES_RESERVED=15 which was defined in ICU4C ures.h.)
        See Also:
        Constant Field Values
      • ALIAS

        public static final int ALIAS
        Resource type constant for aliases; internally stores a string which identifies the actual resource storing the data (can be in a different resource bundle). Resolved internally before delivering the actual resource through the API.
        See Also:
        Constant Field Values
      • TABLE32

        public static final int TABLE32
        Resource type constant for tables with 32-bit count, key offsets and values.
        See Also:
        Constant Field Values
      • TABLE16

        public static final int TABLE16
        Resource type constant for tables with 16-bit count, key offsets and values. All values are STRING_V2 strings.
        See Also:
        Constant Field Values
      • STRING_V2

        public static final int STRING_V2
        Resource type constant for 16-bit Unicode strings in formatVersion 2.
        See Also:
        Constant Field Values
      • ARRAY16

        public static final int ARRAY16
        Resource type constant for arrays with 16-bit count and values. All values are STRING_V2 strings.
        See Also:
        Constant Field Values
    • Method Detail

      • setLoadingStatus

        public void setLoadingStatus​(int newStatus)
        Description copied from class: UResourceBundle
        This method is for setting the loading status of the resource. The status is analogous to the warning status in ICU4C.
        Specified by:
        setLoadingStatus in class UResourceBundle
      • getLoadingStatus

        public int getLoadingStatus()
        Returns the loading status of a particular resource.
        Returns:
        FROM_FALLBACK if the resource is fetched from fallback bundle FROM_ROOT if the resource is fetched from root bundle. FROM_DEFAULT if the resource is fetched from the default locale.
      • setLoadingStatus

        public void setLoadingStatus​(String requestedLocale)
      • getFunctionalEquivalent

        public static final ULocale getFunctionalEquivalent​(String baseName,
                                                            ClassLoader loader,
                                                            String resName,
                                                            String keyword,
                                                            ULocale locID,
                                                            boolean[] isAvailable,
                                                            boolean omitDefault)
        Returns a functionally equivalent locale, considering keywords as well, for the specified keyword.
        Parameters:
        baseName - resource specifier
        resName - top level resource to consider (such as "collations")
        keyword - a particular keyword to consider (such as "collation" )
        locID - The requested locale
        isAvailable - If non-null, 1-element array of fillin parameter that indicates whether the requested locale was available. The locale is defined as 'available' if it physically exists within the specified tree and included in 'InstalledLocales'.
        omitDefault - if true, omit keyword and value if default. 'de_DE\@collation=standard' -> 'de_DE'
        Returns:
        the locale
      • getKeywordValues

        public static final String[] getKeywordValues​(String baseName,
                                                      String keyword)
        Given a tree path and keyword, return a string enumeration of all possible values for that keyword.
        Parameters:
        baseName - resource specifier
        keyword - a particular keyword to consider, must match a top level resource name within the tree. (i.e. "collations")
      • getWithFallback

        public ICUResourceBundle getWithFallback​(String path)
                                          throws MissingResourceException
        This method performs multilevel fallback for fetching items from the bundle e.g: If resource is in the form de__PHONEBOOK{ collations{ default{ "phonebook"} } } If the value of "default" key needs to be accessed, then do: UResourceBundle bundle = UResourceBundle.getBundleInstance("de__PHONEBOOK"); ICUResourceBundle result = null; if(bundle instanceof ICUResourceBundle){ result = ((ICUResourceBundle) bundle).getWithFallback("collations/default"); }
        Parameters:
        path - The path to the required resource key
        Returns:
        resource represented by the key
        Throws:
        MissingResourceException - If a resource was not found.
      • findWithFallback

        public ICUResourceBundle findWithFallback​(String path)
        Like getWithFallback, but returns null if the resource is not found instead of throwing an exception.
        Parameters:
        path - the path to the resource
        Returns:
        the resource, or null
      • findStringWithFallback

        public String findStringWithFallback​(String path)
      • getAvailableLocaleNameSet

        public static Set<String> getAvailableLocaleNameSet​(String bundlePrefix,
                                                            ClassLoader loader)
        Return a set of the locale names supported by a collection of resource bundles.
        Parameters:
        bundlePrefix - the prefix of the resource bundles to use.
      • getFullLocaleNameSet

        public static Set<String> getFullLocaleNameSet()
        Return a set of all the locale names supported by a collection of resource bundles.
      • getFullLocaleNameSet

        public static Set<String> getFullLocaleNameSet​(String bundlePrefix,
                                                       ClassLoader loader)
        Return a set of all the locale names supported by a collection of resource bundles.
        Parameters:
        bundlePrefix - the prefix of the resource bundles to use.
      • getAvailableLocaleNameSet

        public static Set<String> getAvailableLocaleNameSet()
        Return a set of the locale names supported by a collection of resource bundles.
      • getAvailableULocales

        public static final ULocale[] getAvailableULocales​(String baseName,
                                                           ClassLoader loader)
        Get the set of Locales installed in the specified bundles.
        Returns:
        the list of available locales
      • getAvailableULocales

        public static final ULocale[] getAvailableULocales()
        Get the set of ULocales installed the base bundle.
        Returns:
        the list of available locales
      • getAvailableLocales

        public static final Locale[] getAvailableLocales​(String baseName,
                                                         ClassLoader loader)
        Get the set of Locales installed in the specified bundles.
        Returns:
        the list of available locales
      • getAvailableLocales

        public static final Locale[] getAvailableLocales()
        Get the set of Locales installed the base bundle.
        Returns:
        the list of available locales
      • getLocaleList

        public static final Locale[] getLocaleList​(ULocale[] ulocales)
        Convert a list of ULocales to a list of Locales. ULocales with a script code will not be converted since they cannot be represented as a Locale. This means that the two lists will not match one-to-one, and that the returned list might be shorter than the input list.
        Parameters:
        ulocales - a list of ULocales to convert to a list of Locales.
        Returns:
        the list of converted ULocales
      • getLocale

        public Locale getLocale()
        Returns the locale of this resource bundle. This method can be used after a call to getBundle() to determine whether the resource bundle returned really corresponds to the requested locale or is a fallback.
        Overrides:
        getLocale in class UResourceBundle
        Returns:
        the locale of this resource bundle
      • equals

        public boolean equals​(Object other)
        Description copied from class: Object
        Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

        The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

        The general contract for the equals and Object.hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

        Overrides:
        equals in class Object
        Parameters:
        other - the object to compare this instance with.
        Returns:
        true if the specified object is equal to this Object; false otherwise.
        See Also:
        Object.hashCode()
      • hashCode

        public int hashCode()
        Description copied from class: Object
        Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

        Note that hash values must not change over time unless information used in equals comparisons also changes.

        See Writing a correct hashCode method if you intend implementing your own hashCode method.

        Overrides:
        hashCode in class Object
        Returns:
        this object's hash code.
        See Also:
        Object.equals(java.lang.Object)
      • createBundle

        public static ICUResourceBundle createBundle​(String baseName,
                                                     String localeID,
                                                     ClassLoader root)
        Create a bundle using a reader.
        Parameters:
        baseName - The name for the bundle.
        localeID - The locale identification.
        root - The ClassLoader object root.
        Returns:
        the new bundle
      • getBaseName

        protected String getBaseName()
        Description copied from class: UResourceBundle
        Returns the base name of the resource bundle
        Specified by:
        getBaseName in class UResourceBundle
        Returns:
        The string representation of the base name
      • getULocale

        public ULocale getULocale()
        Description copied from class: UResourceBundle
        Returns the RFC 3066 conformant locale id of this resource bundle. This method can be used after a call to getBundleInstance() to determine whether the resource bundle returned really corresponds to the requested locale or is a fallback.
        Specified by:
        getULocale in class UResourceBundle
        Returns:
        the locale of this resource bundle
      • setParent

        protected void setParent​(ResourceBundle parent)
        Description copied from class: ResourceBundle
        Sets the parent resource bundle of this ResourceBundle. The parent is searched for resources which are not found in this ResourceBundle.
        Overrides:
        setParent in class ResourceBundle
        Parameters:
        parent - the parent ResourceBundle.
      • getKey

        public String getKey()
        Description copied from class: UResourceBundle
        Returns the key associated with a given resource. Not all the resources have a key - only those that are members of a table.
        Overrides:
        getKey in class UResourceBundle
        Returns:
        a key associated to this resource, or null if it doesn't have a key
      • getAliasedResource

        protected static ICUResourceBundle getAliasedResource​(ICUResourceBundle base,
                                                              String[] keys,
                                                              int depth,
                                                              String key,
                                                              int _resource,
                                                              HashMap<String,​String> aliasesVisited,
                                                              UResourceBundle requested)
        Returns the resource object referred to from the alias _resource int's path string. Throws MissingResourceException if not found. If the alias path does not contain a key path: If keys != null then keys[:depth] is used. Otherwise the base key path plus the key parameter is used.
        Parameters:
        base - A direct or indirect container of the alias.
        keys - The key path to the alias, or null. (const)
        depth - The length of the key path, if keys != null.
        key - The alias' own key within this current container, if keys == null.
        _resource - The alias resource int.
        aliasesVisited - Set of alias path strings already visited, for detecting loops. We cannot change the type (e.g., to Set) because it is used in protected/@stable UResourceBundle methods.
        requested - The original resource object from which the lookup started, which is the starting point for "/LOCALE/..." aliases.
        Returns:
        the aliased resource object
      • getTopLevelKeySet

        public final Set<String> getTopLevelKeySet()
        Deprecated.
        This API is ICU internal only.
      • setTopLevelKeySet

        public final void setTopLevelKeySet​(Set<String> keySet)
        Deprecated.
        This API is ICU internal only.
      • handleGetKeys

        protected Enumeration<String> handleGetKeys()
        Description copied from class: UResourceBundle
        Actual worker method for fetching the keys of resources contained in the resource. Sub classes must override this method if they support keys and associated resources.
        Overrides:
        handleGetKeys in class UResourceBundle
        Returns:
        Enumeration An enumeration of all the keys in this resource.
      • isTopLevelResource

        protected boolean isTopLevelResource()
        Description copied from class: UResourceBundle
        Is this a top-level resource, that is, a whole bundle?
        Overrides:
        isTopLevelResource in class UResourceBundle
        Returns:
        true if this is a top-level resource