public class FilePersistenceStrategy extends AbstractFilePersistenceStrategy
SingleValueConverter
. It escapes all characters that are normally illegal in
the most common file systems. Such a character is escaped with percent escaping as it is done by URL encoding. The
XStream used to marshal the values is also requested for the key's SingleValueConverter. A
ConversionException
is thrown if no such converter is registered.AbstractFilePersistenceStrategy.ValidFilenameFilter, AbstractFilePersistenceStrategy.XmlMapEntriesIterator
Constructor and Description |
---|
FilePersistenceStrategy(File baseDirectory)
Create a new FilePersistenceStrategy.
|
FilePersistenceStrategy(File baseDirectory,
XStream xstream)
Create a new FilePersistenceStrategy with a provided XStream instance.
|
FilePersistenceStrategy(File baseDirectory,
XStream xstream,
String encoding,
String illegalChars)
Create a new FilePersistenceStrategy with a provided XStream instance and the characters to encode.
|
Modifier and Type | Method and Description |
---|---|
protected String |
escape(String key) |
protected Object |
extractKey(String name)
Given a filename, the unescape method returns the key which originated it.
|
protected String |
getName(Object key)
Given a key, the escape method returns the filename which shall be used.
|
protected boolean |
isValid(File dir,
String name) |
protected String |
unescape(String name) |
containsKey, get, getConverterLookup, getMapper, iterator, put, remove, size
public FilePersistenceStrategy(File baseDirectory)
DomDriver
.baseDirectory
- the directory for the serialized valuespublic FilePersistenceStrategy(File baseDirectory, XStream xstream)
baseDirectory
- the directory for the serialized valuesxstream
- the XStream instance to use for (de)serializationpublic FilePersistenceStrategy(File baseDirectory, XStream xstream, String encoding, String illegalChars)
baseDirectory
- the directory for the serialized valuesxstream
- the XStream instance to use for (de)serializationencoding
- encoding used to write the filesillegalChars
- illegal characters for file names (should always include '%' as long as you do not overwrite
the (un)escape methods)protected boolean isValid(File dir, String name)
isValid
in class AbstractFilePersistenceStrategy
protected Object extractKey(String name)
extractKey
in class AbstractFilePersistenceStrategy
name
- the filenameprotected String getName(Object key)
getName
in class AbstractFilePersistenceStrategy
key
- the keyCopyright © 2004–2017 XStream. All rights reserved.