public class

FilePersistenceStrategy

extends AbstractFilePersistenceStrategy
java.lang.Object
   ↳ com.thoughtworks.xstream.persistence.AbstractFilePersistenceStrategy
     ↳ com.thoughtworks.xstream.persistence.FilePersistenceStrategy

Class Overview

PersistenceStrategy to assign keys with single value to objects persisted in files. The default naming strategy is based on the key's type and its 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 StreamException is thrown if no such converter is registered.

Summary

Public Constructors
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.
Protected Methods
String escape(String key)
Object extractKey(String name)
Given a filename, the unescape method returns the key which originated it.
String getName(Object key)
Given a key, the escape method returns the filename which shall be used.
boolean isValid(File dir, String name)
String unescape(String name)
[Expand]
Inherited Methods
From class com.thoughtworks.xstream.persistence.AbstractFilePersistenceStrategy
From class java.lang.Object
From interface com.thoughtworks.xstream.persistence.PersistenceStrategy

Public Constructors

public FilePersistenceStrategy (File baseDirectory)

Create a new FilePersistenceStrategy. Use a standard XStream instance with a DomDriver.

Parameters
baseDirectory the directory for the serialized values

public FilePersistenceStrategy (File baseDirectory, XStream xstream)

Create a new FilePersistenceStrategy with a provided XStream instance.

Parameters
baseDirectory the directory for the serialized values
xstream the XStream instance to use for (de)serialization

public FilePersistenceStrategy (File baseDirectory, XStream xstream, String encoding, String illegalChars)

Create a new FilePersistenceStrategy with a provided XStream instance and the characters to encode.

Parameters
baseDirectory the directory for the serialized values
xstream the XStream instance to use for (de)serialization
encoding encoding used to write the files
illegalChars illegal characters for file names (should always include '%' as long as you do not overwrite the (un)escape methods)

Protected Methods

protected String escape (String key)

protected Object extractKey (String name)

Given a filename, the unescape method returns the key which originated it.

Parameters
name the filename
Returns
  • the original key

protected String getName (Object key)

Given a key, the escape method returns the filename which shall be used.

Parameters
key the key
Returns
  • the desired and escaped filename

protected boolean isValid (File dir, String name)

protected String unescape (String name)