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 classAbstractFilePersistenceStrategy.ValidFilenameFilterprotected classAbstractFilePersistenceStrategy.XmlMapEntriesIterator
-
Field Summary
Fields Modifier and Type Field Description private java.io.FilebaseDirectoryprivate java.lang.Stringencodingprivate java.io.FilenameFilterfilterprivate XStreamxstream
-
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 booleancontainsKey(java.lang.Object key)protected abstract java.lang.ObjectextractKey(java.lang.String name)Given a filename, the unescape method returns the key which originated it.java.lang.Objectget(java.lang.Object key)protected ConverterLookupgetConverterLookup()private java.io.FilegetFile(java.lang.String filename)protected MappergetMapper()protected abstract java.lang.StringgetName(java.lang.Object key)Given a key, the escape method returns the filename which shall be used.protected booleanisValid(java.io.File dir, java.lang.String name)java.util.Iteratoriterator()java.lang.Objectput(java.lang.Object key, java.lang.Object value)private java.lang.ObjectreadFile(java.io.File file)java.lang.Objectremove(java.lang.Object key)intsize()private voidwriteFile(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:
putin interfacePersistenceStrategy
-
iterator
public java.util.Iterator iterator()
- Specified by:
iteratorin interfacePersistenceStrategy
-
size
public int size()
- Specified by:
sizein interfacePersistenceStrategy
-
containsKey
public boolean containsKey(java.lang.Object key)
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
getin interfacePersistenceStrategy
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
removein interfacePersistenceStrategy
-
-