org.springframework.beans.propertyeditors
Class ResourceBundleEditor

java.lang.Object
  extended by java.beans.PropertyEditorSupport
      extended by 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
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
ResourceBundleEditor()
           
 
Method Summary
 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