Class AbstractFilePersistenceStrategy
- java.lang.Object
-
- com.thoughtworks.xstream.persistence.AbstractFilePersistenceStrategy
-
- All Implemented Interfaces:
PersistenceStrategy
- Direct Known Subclasses:
FilePersistenceStrategy
,FileStreamStrategy
public abstract class AbstractFilePersistenceStrategy extends java.lang.Object implements PersistenceStrategy
Abstract base class for file based persistence strategies.- Since:
- 1.3.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractFilePersistenceStrategy.ValidFilenameFilter
protected class
AbstractFilePersistenceStrategy.XmlMapEntriesIterator
-
Field Summary
Fields Modifier and Type Field Description private java.io.File
baseDirectory
private java.lang.String
encoding
private java.io.FilenameFilter
filter
private XStream
xstream
-
Constructor Summary
Constructors Constructor Description AbstractFilePersistenceStrategy(java.io.File baseDirectory, XStream xstream, java.lang.String encoding)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
containsKey(java.lang.Object key)
protected abstract java.lang.Object
extractKey(java.lang.String name)
Given a filename, the unescape method returns the key which originated it.java.lang.Object
get(java.lang.Object key)
protected ConverterLookup
getConverterLookup()
private java.io.File
getFile(java.lang.String filename)
protected Mapper
getMapper()
protected abstract java.lang.String
getName(java.lang.Object key)
Given a key, the escape method returns the filename which shall be used.protected boolean
isValid(java.io.File dir, java.lang.String name)
java.util.Iterator
iterator()
java.lang.Object
put(java.lang.Object key, java.lang.Object value)
private java.lang.Object
readFile(java.io.File file)
java.lang.Object
remove(java.lang.Object key)
int
size()
private void
writeFile(java.io.File file, java.lang.Object value)
-
-
-
Field Detail
-
filter
private final java.io.FilenameFilter filter
-
baseDirectory
private final java.io.File baseDirectory
-
encoding
private final java.lang.String encoding
-
xstream
private final transient XStream xstream
-
-
Constructor Detail
-
AbstractFilePersistenceStrategy
public AbstractFilePersistenceStrategy(java.io.File baseDirectory, XStream xstream, java.lang.String encoding)
-
-
Method Detail
-
getConverterLookup
protected ConverterLookup getConverterLookup()
-
getMapper
protected Mapper getMapper()
-
isValid
protected boolean isValid(java.io.File dir, java.lang.String name)
-
extractKey
protected abstract java.lang.Object extractKey(java.lang.String name)
Given a filename, the unescape method returns the key which originated it.- Parameters:
name
- the filename- Returns:
- the original key
-
getName
protected abstract java.lang.String getName(java.lang.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
-
writeFile
private void writeFile(java.io.File file, java.lang.Object value)
-
getFile
private java.io.File getFile(java.lang.String filename)
-
readFile
private java.lang.Object readFile(java.io.File file)
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
- Specified by:
put
in interfacePersistenceStrategy
-
iterator
public java.util.Iterator iterator()
- Specified by:
iterator
in interfacePersistenceStrategy
-
size
public int size()
- Specified by:
size
in interfacePersistenceStrategy
-
containsKey
public boolean containsKey(java.lang.Object key)
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interfacePersistenceStrategy
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
remove
in interfacePersistenceStrategy
-
-