org.springframework.beans.propertyeditors

## Class ResourceBundleEditor

- java.lang.Object
- - java.beans.PropertyEditorSupport
  - - org.springframework.beans.propertyeditors.ResourceBundleEditor

- All Implemented Interfaces:
    PropertyEditor

      public class ResourceBundleEditor
      extends PropertyEditorSupport

  `PropertyEditor` implementation for `ResourceBundles`.

  Only supports conversion from a String, but not to a String. Find below some examples of using this class in a (properly configured) Spring container using XML-based metadata:

       <bean id="errorDialog" class="...">
          <!--
              the 'messages' property is of type java.util.ResourceBundle.
              the 'DialogMessages.properties' file exists at the root of the CLASSPATH
          -->
          <property name="messages" value="DialogMessages"/>
       </bean>

       <bean id="errorDialog" class="...">
          <!--
              the 'DialogMessages.properties' file exists in the 'com/messages' package
          -->
          <property name="messages" value="com/messages/DialogMessages"/>
       </bean>

  A 'properly configured' Spring `container` might contain a `CustomEditorConfigurer` definition such that the conversion can be effected transparently:

       <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
          <property name="customEditors">
              <map>
                  <entry key="java.util.ResourceBundle">
                      <bean class="org.springframework.beans.propertyeditors.ResourceBundleEditor"/>
                  </entry>
              </map>
          </property>
       </bean>

  Please note that this `PropertyEditor` is not registered by default with any of the Spring infrastructure.

  Thanks to David Leal Valmana for the suggestion and initial prototype.

  Since:
    2.0
  Author:
    Rick Evans

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `BASE_NAME_SEPARATOR` The separator used to distinguish between the base name and the locale (if any) when `converting from a String`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResourceBundleEditor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setAsText(String text)`

    - ### Methods inherited from class java.beans.PropertyEditorSupport

      `addPropertyChangeListener, firePropertyChange, getAsText, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, setValue, supportsCustomEditor`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BASE_NAME_SEPARATOR

          public static final String BASE_NAME_SEPARATOR

      The separator used to distinguish between the base name and the locale (if any) when `converting from a String`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ResourceBundleEditor

          public ResourceBundleEditor()

  - ### Method Detail

    - #### setAsText

          public void setAsText(String text)
                         throws IllegalArgumentException

      Specified by:
        `setAsText` in interface `PropertyEditor`
      Overrides:
        `setAsText` in class `PropertyEditorSupport`
      Throws:
        `IllegalArgumentException`