Package org.apache.commons.vfs2.cache
Class SoftRefFilesCache
java.lang.Object
org.apache.commons.vfs2.provider.AbstractVfsComponent
org.apache.commons.vfs2.cache.AbstractFilesCache
org.apache.commons.vfs2.cache.SoftRefFilesCache
- All Implemented Interfaces:
Closeable
,AutoCloseable
,FilesCache
,VfsComponent
- Direct Known Subclasses:
WeakRefFilesCache
This implementation caches every file as long as it is strongly reachable by the JVM. As soon as the JVM needs
memory - every softly reachable file will be discarded.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear
(FileSystem fileSystem) Purges the entries corresponding to the FileSystem.void
close()
Closes the provider.protected Reference<FileObject>
createReference
(FileObject file, ReferenceQueue<FileObject> referenceQueue) Constructs a new Reference.getFile
(FileSystem fileSystem, FileName fileName) Retrieves a FileObject from the cache by name.protected Map<FileName,
Reference<FileObject>> getOrCreateFilesystemCache
(FileSystem fileSystem) Gets or creates a new Map.void
putFile
(FileObject fileObject) Adds a FileObject to the cache.boolean
putFileIfAbsent
(FileObject fileObject) Adds a FileObject to the cache if it isn't already present.void
removeFile
(FileSystem fileSystem, FileName fileName) Removes a file from cache.toString()
Methods inherited from class org.apache.commons.vfs2.cache.AbstractFilesCache
touchFile
Methods inherited from class org.apache.commons.vfs2.provider.AbstractVfsComponent
getContext, getLogger, init, setContext, setLogger
-
Constructor Details
-
SoftRefFilesCache
public SoftRefFilesCache()Constructs a new instance.
-
-
Method Details
-
clear
Description copied from interface:FilesCache
Purges the entries corresponding to the FileSystem.- Parameters:
fileSystem
- The FileSystem.
-
close
Description copied from class:AbstractVfsComponent
Closes the provider. This implementation does nothing.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceFilesCache
- Specified by:
close
in interfaceVfsComponent
- Overrides:
close
in classAbstractVfsComponent
-
createReference
protected Reference<FileObject> createReference(FileObject file, ReferenceQueue<FileObject> referenceQueue) Constructs a new Reference.- Parameters:
file
- a file object.referenceQueue
- a ReferenceQueue.- Returns:
- a new Reference on the given input.
-
getFile
Description copied from interface:FilesCache
Retrieves a FileObject from the cache by name.- Parameters:
fileSystem
- The FileSystem.fileName
- the name- Returns:
- the file object or null if file is not cached
-
getOrCreateFilesystemCache
Gets or creates a new Map.- Parameters:
fileSystem
- the key.- Returns:
- an existing or new Map.
-
putFile
Description copied from interface:FilesCache
Adds a FileObject to the cache.- Parameters:
fileObject
- the file
-
putFileIfAbsent
Description copied from interface:FilesCache
Adds a FileObject to the cache if it isn't already present.- Parameters:
fileObject
- the file- Returns:
- true if the file was stored, false otherwise.
-
removeFile
Description copied from interface:FilesCache
Removes a file from cache.- Parameters:
fileSystem
- file systemfileName
- file name
-
toString
-