Java ResourceBundle.Control getCandidateLocales() Method
Description
The Java 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.
Declaration
Following is the declaration for java.util.Control.getCandidateLocales() method
public List<Locale< getCandidateLocales(String baseName, Locale locale)
Parameters
baseName − the base name of the resource bundle, a fully qualified class name
locale − the locale for which a resource bundle is desired
Return Value
This method returns a List of candidate Locales for the given locale
Exception
NullPointerException − if baseName or locale is null
Getting List of Locales from a ResourceBundle Control of US Locale Example
The following example shows the usage of Java ResourceBundle.Control getCandidateLocales() method to get the list of locales for US locale. We've created a resource bundle control with FORMAT_DEFAULT. Then candidate locales of US Locale for the corresponding hello_en_US.properties file are printed using 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));
}
}
Output
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, ]
Getting List of Locales from a ResourceBundle Control of French Locale Example
The following example shows the usage of Java ResourceBundle.Control getCandidateLocales() method to get the list of locales for French locale. We've created a resource bundle control with FORMAT_DEFAULT. Then candidate locales of French Locale for the corresponding hello_fr_FR.properties file are printed using 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.FRANCE));
}
}
Output
Assuming we have a resource file hello_fr_FR.properties available in your CLASSPATH, with the following content. This file will be used as an input for our example program −
hello = Bonjour le monde!
Let us compile and run the above program, this will produce the following result −
[fr_FR, fr, ]
Getting List of Locales from a ResourceBundle Control of German Locale Example
The following example shows the usage of Java ResourceBundle.Control getCandidateLocales() method to get the list of locales for German locale. We've created a resource bundle control with FORMAT_DEFAULT. Then candidate locales of German Locale for the corresponding hello_de_DE.properties file are printed using 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.GERMANY));
}
}
Output
Assuming we have a resource file hello_de_DE.properties available in your CLASSPATH, with the following content. This file will be used as an input for our example program −
hello = Hallo Welt!
Let us compile and run the above program, this will produce the following result −
[de_DE, de, ]