The java.util.ResourceBundle.Control.getCandidateLocales(String baseName,Locale locale) method returns a List of Locales as candidate locales for baseName and locale. This method is called by the ResourceBundle.getBundle factory method each time the factory method tries finding a resource bundle for a target Locale.
Following is the declaration for java.util.Control.getCandidateLocales() method
public List<Locale< getCandidateLocales(String baseName, Locale locale)
baseName − the base name of the resource bundle, a fully qualified class name
locale − the locale for which a resource bundle is desired
This method returns a List of candidate Locales for the given locale
NullPointerException − if baseName or locale is null
The following example shows the usage of java.util.ResourceBundle.Control.getCandidateLocales() method.
package com.tutorialspoint; import java.util.Locale; import java.util.ResourceBundle; import java.util.ResourceBundle.Control; public class ResourceBundleControlDemo { public static void main(String[] args) { // create a new ResourceBundle.Control with default format ResourceBundle.Control rbc = ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT); // print the CandidateLocales System.out.println("" + rbc.getCandidateLocales("hello", Locale.US)); } }
Assuming we have a resource file hello_en_US.properties available in your CLASSPATH, with the following content. This file will be used as an input for our example program −
hello = Hello World!
Let us compile and run the above program, this will produce the following result −
[en_US, en, ]