|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.util.DefaultPropertiesPersister
public class DefaultPropertiesPersister
Default implementation of the PropertiesPersister
interface.
Follows the native parsing of java.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 lacks up until JDK 1.5:
You can only load files using the ISO-8859-1 charset there.
Loading from and storing to a stream delegates to Properties.load
and Properties.store
, respectively, to be fully compatible with
the Unicode conversion as implemented by the JDK Properties class. On JDK 1.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).
As of Spring 1.2.2, this implementation also supports properties XML files,
through the loadFromXml
and storeToXml
methods.
The default implementations delegate to JDK 1.5's corresponding methods,
throwing an exception if running on an older JDK. Those implementations
could be subclassed to apply custom XML handling on JDK 1.4, for example.
Properties
,
Properties.load(java.io.Reader)
,
Properties.store(java.io.Writer, java.lang.String)
,
ReloadableResourceBundleMessageSource.setPropertiesPersister(org.springframework.util.PropertiesPersister)
,
ReloadableResourceBundleMessageSource.setDefaultEncoding(java.lang.String)
,
ReloadableResourceBundleMessageSource.setFileEncodings(java.util.Properties)
Constructor Summary | |
---|---|
DefaultPropertiesPersister()
|
Method Summary | |
---|---|
protected void |
doLoad(Properties props,
Reader reader)
|
protected void |
doStore(Properties props,
Writer writer,
String header)
|
protected boolean |
endsWithContinuationMarker(String line)
|
protected String |
escape(String str,
boolean isKey)
|
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. |
protected String |
unescape(String str)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultPropertiesPersister()
Method Detail |
---|
public void load(Properties props, InputStream is) throws IOException
PropertiesPersister
load
in interface PropertiesPersister
props
- the Properties object to load intois
- the InputStream to load from
IOException
- in case of I/O errorsProperties.load(java.io.Reader)
public void load(Properties props, Reader reader) throws IOException
PropertiesPersister
load
in interface PropertiesPersister
props
- the Properties object to load intoreader
- the Reader to load from
IOException
- in case of I/O errorsprotected void doLoad(Properties props, Reader reader) throws IOException
IOException
protected boolean endsWithContinuationMarker(String line)
protected String unescape(String str)
public void store(Properties props, OutputStream os, String header) throws IOException
PropertiesPersister
store
in interface PropertiesPersister
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property list
IOException
- in case of I/O errorsProperties.store(java.io.Writer, java.lang.String)
public void store(Properties props, Writer writer, String header) throws IOException
PropertiesPersister
store
in interface PropertiesPersister
props
- the Properties object to storewriter
- the Writer to write toheader
- the description of the property list
IOException
- in case of I/O errorsprotected void doStore(Properties props, Writer writer, String header) throws IOException
IOException
protected String escape(String str, boolean isKey)
public void loadFromXml(Properties props, InputStream is) throws IOException
PropertiesPersister
loadFromXml
in interface PropertiesPersister
props
- the Properties object to load intois
- the InputStream to load from
IOException
- in case of I/O errorsProperties.loadFromXML(java.io.InputStream)
public void storeToXml(Properties props, OutputStream os, String header) throws IOException
PropertiesPersister
storeToXml
in interface PropertiesPersister
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property list
IOException
- in case of I/O errorsProperties.storeToXML(java.io.OutputStream, String)
public void storeToXml(Properties props, OutputStream os, String header, String encoding) throws IOException
PropertiesPersister
storeToXml
in interface PropertiesPersister
props
- the Properties object to storeos
- the OutputStream to write toheader
- the description of the property listencoding
- the encoding to use
IOException
- in case of I/O errorsProperties.storeToXML(java.io.OutputStream, String, String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |