Java ResourceBundle setParent() Method



Description

The Java ResourceBundle setParent(ResourceBundle parent) method sets the parent bundle of this bundle. The parent bundle is searched by getObject when this bundle does not contain a particular resource.

Declaration

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

protected void setParent(ResourceBundle parent)

Parameters

parent − this bundle's parent bundle.

Return Value

This method does not return a value.

Exception

NA

Setting Parent Bundle in a Resource Bundle of US Locale Example

The following example shows the usage of Java ResourceBundle setParent() method. In this example, we've extended ResourceBundle Class and implemented setParent() method and setting the super parent.

package com.tutorialspoint;

import java.util.Enumeration;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

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;
   }

   @Override
   protected void setParent(ResourceBundle parent) {
      super.setParent(parent);
   }

   public static void main(String[] args) {

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

      // print the string array assigned to key "hello"
      System.out.println("" + bundle.getString("hello"));
   }
}

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 −

Hello World!

Setting Parent Bundle in a Resource Bundle of FRANCE Locale Example

The following example shows the usage of Java ResourceBundle setParent() method. In this example, we've extended ResourceBundle Class and implemented setParent() method and setting the super parent.

package com.tutorialspoint;

import java.util.Enumeration;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

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;
   }

   @Override
   protected void setParent(ResourceBundle parent) {
      super.setParent(parent);
   }

   public static void main(String[] args) {

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

      // print the string array assigned to key "hello"
      System.out.println("" + bundle.getString("hello"));
   }
}

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 −

Bonjour le monde!

Setting Parent Bundle in a Resource Bundle of GERMANY Locale Example

The following example shows the usage of Java ResourceBundle setParent() method. In this example, we've extended ResourceBundle Class and implemented setParent() method and setting the super parent.

package com.tutorialspoint;

import java.util.Enumeration;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

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;
   }

   @Override
   protected void setParent(ResourceBundle parent) {
      super.setParent(parent);
   }

   public static void main(String[] args) {

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

      // print the string array assigned to key "hello"
      System.out.println("" + bundle.getString("hello"));
   }
}

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 −

Hallo Welt!
java_util_resourcebundle.htm
Advertisements