public class ResourceBundleEditor extends PropertyEditorSupport
PropertyEditor
implementation for standard JDK
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.
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 and Description |
---|
ResourceBundleEditor() |
Modifier and Type | Method and Description |
---|---|
void |
setAsText(String text) |
addPropertyChangeListener, firePropertyChange, getAsText, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, setValue, supportsCustomEditor
public static final String BASE_NAME_SEPARATOR
converting from a String
.public void setAsText(String text) throws IllegalArgumentException
setAsText
in interface PropertyEditor
setAsText
in class PropertyEditorSupport
IllegalArgumentException