public class DefaultPropertiesPersister extends Object implements PropertiesPersister
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 lacked up until JDK 1.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
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).
Properties
,
Properties.load(java.io.Reader)
,
Properties.store(java.io.Writer, java.lang.String)
Constructor and Description |
---|
DefaultPropertiesPersister() |
Modifier and Type | Method and Description |
---|---|
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) |
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 fromIOException
- 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 fromIOException
- in case of I/O errorsprotected void doLoad(Properties props, Reader reader) throws IOException
IOException
protected boolean endsWithContinuationMarker(String line)
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 listIOException
- 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 listIOException
- in case of I/O errorsprotected void doStore(Properties props, Writer writer, String header) throws IOException
IOException
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 fromIOException
- 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 listIOException
- 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 useIOException
- in case of I/O errorsProperties.storeToXML(java.io.OutputStream, String, String)