Class CacheIndexFile
- java.lang.Object
-
- net.adoptopenjdk.icedteaweb.resources.cache.CacheIndexFile
-
class CacheIndexFile extends java.lang.ObjectClass to interface with the LRU cache index file.The following restriction are enforced by the class: - loading and saving can only be done when locked - reading and changing the entities can only be done after loading
-
-
Field Summary
Fields Modifier and Type Field Description private CacheIndexEntriesentriesprivate longlastLoadOrStoretime of last modification, lazy loaded on getPropertyprivate static java.lang.StringLINE_ENDprivate LockableFilelockableFileprivate booleanrequestCompressionprivate java.util.List<CacheAction>unsavedActions
-
Constructor Summary
Constructors Constructor Description CacheIndexFile(java.io.File file)CacheIndexFile(LockableFile lockableFile)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddEntry(CacheIndexEntry entry)private voidappendUnsavedActionsToFile()private voidapplyAndSort(CacheAction action)(package private) voidclear()(package private) java.util.List<CacheIndexEntry>getAllEntries()private booleanhasNeverBeenLoaded()(package private) booleanisDirty()(package private) voidload()(package private) voidlock()(package private) voidmarkAccessed(CacheIndexEntry entry, long lastAccessed)(package private) voidpersistChanges()(package private) voidremoveEntry(CacheIndexEntry entry)(package private) voidrequestCompression()private voidsaveCompactedFile()(package private) voidunlock()(package private) booleanusesFile(java.io.File file)
-
-
-
Field Detail
-
LINE_END
private static final java.lang.String LINE_END
- See Also:
- Constant Field Values
-
lockableFile
private final LockableFile lockableFile
-
unsavedActions
private final java.util.List<CacheAction> unsavedActions
-
lastLoadOrStore
private long lastLoadOrStore
time of last modification, lazy loaded on getProperty
-
requestCompression
private boolean requestCompression
-
entries
private final CacheIndexEntries entries
-
-
Constructor Detail
-
CacheIndexFile
CacheIndexFile(java.io.File file)
-
CacheIndexFile
CacheIndexFile(LockableFile lockableFile)
-
-
Method Detail
-
usesFile
boolean usesFile(java.io.File file)
-
getAllEntries
java.util.List<CacheIndexEntry> getAllEntries()
-
addEntry
void addEntry(CacheIndexEntry entry)
-
markAccessed
void markAccessed(CacheIndexEntry entry, long lastAccessed)
-
removeEntry
void removeEntry(CacheIndexEntry entry)
-
applyAndSort
private void applyAndSort(CacheAction action)
-
clear
void clear()
-
load
void load() throws java.io.IOException
- Throws:
java.io.IOException
-
isDirty
boolean isDirty()
-
requestCompression
void requestCompression()
-
persistChanges
void persistChanges() throws java.io.IOException- Throws:
java.io.IOException
-
appendUnsavedActionsToFile
private void appendUnsavedActionsToFile() throws java.io.IOException- Throws:
java.io.IOException
-
saveCompactedFile
private void saveCompactedFile() throws java.io.IOException- Throws:
java.io.IOException
-
lock
void lock() throws java.io.IOException
- Throws:
java.io.IOException
-
unlock
void unlock() throws java.io.IOException- Throws:
java.io.IOException
-
hasNeverBeenLoaded
private boolean hasNeverBeenLoaded()
-
-