Java ResourceBundle handleKeySet() Method



Description

The Java ResourceBundle handleKeySet() method returns a Set of the keys contained only in this ResourceBundle.

Declaration

Following is the declaration for java.util.ResourceBundle.handleKeySet() method

protected Set<String> handleKeySet()

Parameters

NA

Return Value

This method returns a Set of the keys contained only in this ResourceBundle

Exception

NA

Getting Enumeration of Keys from ResourceBundle of US Locale Example

The following example shows the usage of Java ResourceBundle handleKeySet() method. In this example, we've extended ResourceBundle Class and implemented handleKeySet() method and getting a set of Keys as a HashSet.

package com.tutorialspoint;

import java.util.*;

public class ResourceBundleDemo extends ResourceBundle {

   @Override
   public Object handleGetObject(String key) {
      if (key.equals("hello")) {
         return "Hello World!";
      } else {
         return null;
      }
   }

   @Override
   public Enumeration getKeys() {
      StringTokenizer key = new StringTokenizer("Hello World!");
      return key;
   }

   protected Set<String> handleKeySet() {
      return new HashSet<String>();
   }

   public static void main(String[] args) {

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle =
      ResourceBundle.getBundle("hello", Locale.US);

      // print the keys
      Enumeration<String> enumeration = bundle.getKeys();
      
      while (enumeration.hasMoreElements()) {
         System.out.println("" + enumeration.nextElement());
      }
   }
}

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!
bye = Goodbye World!
morning = Good Morning World!

Let us compile and run the above program, this will produce the following result −

hello
bye
morning

Getting Enumeration of Keys from ResourceBundle of FRANCE Locale Example

The following example shows the usage of Java ResourceBundle handleKeySet() method. In this example, we've extended ResourceBundle Class and implemented handleKeySet() method and getting a set of Keys as a HashSet.

package com.tutorialspoint;

import java.util.*;

public class ResourceBundleDemo extends ResourceBundle {

   @Override
   public Object handleGetObject(String key) {
      if (key.equals("hello")) {
         return "Bonjour le monde!";
      } else {
         return null;
      }
   }

   @Override
   public Enumeration getKeys() {
      StringTokenizer key = new StringTokenizer("Bonjour le monde!");
      return key;
   }

   protected Set<String> handleKeySet() {
      return new HashSet<String>();
   }

   public static void main(String[] args) {

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle =
      ResourceBundle.getBundle("hello", Locale.FRANCE);

      // print the keys
      Enumeration<String> enumeration = bundle.getKeys();
      
      while (enumeration.hasMoreElements()) {
         System.out.println("" + enumeration.nextElement());
      }
   }
}

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 = Bonjour le monde!
bye = Au revoir le monde!
morning = Bonjour le monde!

Let us compile and run the above program, this will produce the following result −

hello
bye
morning

Getting Enumeration of Keys from ResourceBundle of GERMAN Locale Example

The following example shows the usage of Java ResourceBundle handleKeySet() method. In this example, we've extended ResourceBundle Class and implemented handleKeySet() method and getting a set of Keys as a HashSet.

package com.tutorialspoint;

import java.util.*;

public class ResourceBundleDemo extends ResourceBundle {

   @Override
   public Object handleGetObject(String key) {
      if (key.equals("hello")) {
         return "Hallo Welt!";
      } else {
         return null;
      }
   }

   @Override
   public Enumeration getKeys() {
      StringTokenizer key = new StringTokenizer("Hallo Welt!");
      return key;
   }

   protected Set<String> handleKeySet() {
      return new HashSet<String>();
   }

   public static void main(String[] args) {

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle =
      ResourceBundle.getBundle("hello", Locale.US);

      // print the keys
      Enumeration<String> enumeration = bundle.getKeys();
      
      while (enumeration.hasMoreElements()) {
         System.out.println("" + enumeration.nextElement());
      }
   }
}

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 = Hallo Welt!
bye = Auf Wiedersehen Welt!
morning = Guten Morgen Welt!

Let us compile and run the above program, this will produce the following result −

hello
bye
morning
java_util_resourcebundle.htm
Advertisements