Class DefaultPropertiesPersister
- java.lang.Object
- org.springframework.util.DefaultPropertiesPersister
- All Implemented Interfaces:
PropertiesPersister
public class DefaultPropertiesPersister extends Object implements PropertiesPersister
Default implementation of thePropertiesPersister
interface. Follows the native parsing ofjava.util.Properties
.Allows for reading from any Reader and writing to any Writer, for example to specify a charset for a properties file. This is a capability that standard
java.util.Properties
unfortunately lacked up until JDK 5: You were only able to load files using the ISO-8859-1 charset there.Loading from and storing to a stream delegates to
Properties.load
andProperties.store
, respectively, to be fully compatible with the Unicode conversion as implemented by the JDK Properties class. As of JDK 6,Properties.load/store
will also be used for readers/writers, effectively turning this class into a plain backwards compatibility adapter.The persistence code that works with Reader/Writer follows the JDK's parsing strategy but does not implement Unicode conversion, because the Reader/Writer should already apply proper decoding/encoding of characters. If you use prefer to escape unicode characters in your properties files, do not specify an encoding for a Reader/Writer (like ReloadableResourceBundleMessageSource's "defaultEncoding" and "fileEncodings" properties).
- Since:
- 10.03.2004
- Author:
- Juergen Hoeller
- See Also:
Properties
,Properties.load(java.io.Reader)
,Properties.store(java.io.Writer, java.lang.String)
Constructor Summary
Constructors Constructor Description DefaultPropertiesPersister()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
load(Properties props, InputStream is)
Load properties from the given InputStream into the given Properties object.void
load(Properties props, Reader reader)
Load properties from the given Reader into the given Properties object.void
loadFromXml(Properties props, InputStream is)
Load properties from the given XML InputStream into the given Properties object.void
store(Properties props, OutputStream os, String header)
Write the contents of the given Properties object to the given OutputStream.void
store(Properties props, Writer writer, String header)
Write the contents of the given Properties object to the given Writer.void
storeToXml(Properties props, OutputStream os, String header)
Write the contents of the given Properties object to the given XML OutputStream.void
storeToXml(Properties props, OutputStream os, String header, String encoding)
Write the contents of the given Properties object to the given XML OutputStream.
Constructor Detail
DefaultPropertiesPersister
public DefaultPropertiesPersister()
Method Detail
load
public void load(Properties props, InputStream is) throws IOException
Description copied from interface:PropertiesPersister
Load properties from the given InputStream into the given Properties object.- Specified by:
load
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to load intois
- the InputStream to load from- Throws:
IOException
- in case of I/O errors- See Also:
Properties.load(java.io.Reader)
load
public void load(Properties props, Reader reader) throws IOException
Description copied from interface:PropertiesPersister
Load properties from the given Reader into the given Properties object.- Specified by:
load
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to load intoreader
- the Reader to load from- Throws:
IOException
- in case of I/O errors
store
public void store(Properties props, OutputStream os, String header) throws IOException
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given OutputStream.- Specified by:
store
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property list- Throws:
IOException
- in case of I/O errors- See Also:
Properties.store(java.io.Writer, java.lang.String)
store
public void store(Properties props, Writer writer, String header) throws IOException
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given Writer.- Specified by:
store
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storewriter
- the Writer to write toheader
- the description of the property list- Throws:
IOException
- in case of I/O errors
loadFromXml
public void loadFromXml(Properties props, InputStream is) throws IOException
Description copied from interface:PropertiesPersister
Load properties from the given XML InputStream into the given Properties object.- Specified by:
loadFromXml
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to load intois
- the InputStream to load from- Throws:
IOException
- in case of I/O errors- See Also:
Properties.loadFromXML(java.io.InputStream)
storeToXml
public void storeToXml(Properties props, OutputStream os, String header) throws IOException
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given XML OutputStream.- Specified by:
storeToXml
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property list- Throws:
IOException
- in case of I/O errors- See Also:
Properties.storeToXML(java.io.OutputStream, String)
storeToXml
public void storeToXml(Properties props, OutputStream os, String header, String encoding) throws IOException
Description copied from interface:PropertiesPersister
Write the contents of the given Properties object to the given XML OutputStream.- Specified by:
storeToXml
in interfacePropertiesPersister
- Parameters:
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property listencoding
- the encoding to use- Throws:
IOException
- in case of I/O errors- See Also:
Properties.storeToXML(java.io.OutputStream, String, String)