Package org.aspectj.weaver.tools.cache
Interface CacheBacking
- All Known Implementing Classes:
AbstractCacheBacking
,AbstractFileCacheBacking
,AbstractIndexedFileCacheBacking
,AsynchronousFileCacheBacking
,DefaultFileCacheBacking
,FlatFileCacheBacking
,ZippedFileCacheBacking
public interface CacheBacking
Interface for the backing to the cache; usually a file,
but could be an in-memory backing for testing.
aspectj and jvmti provide no suitable guarantees on locking for class redefinitions, so every implementation must have a some locking mechanism to prevent invalid reads.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear the entire cacheget(CachedClassReference ref, byte[] originalBytes)
Get a cache entryString[]
Return a list of keys which match the given regex.void
put(CachedClassEntry entry, byte[] originalBytes)
Put an entry in the cachevoid
remove(CachedClassReference ref)
Remove an entry from the cache
-
Method Details
-
getKeys
Return a list of keys which match the given regex.- Parameters:
regex
-- Returns:
-
remove
Remove an entry from the cache- Parameters:
ref
-
-
clear
void clear()Clear the entire cache -
get
Get a cache entry- Parameters:
ref
- entry to retrieveoriginalBytes
- Pre-weaving class bytes - required in order to ensure that the cached entry refers to the same original class- Returns:
- the cached bytes or null, if the entry does not exist
-
put
Put an entry in the cache- Parameters:
entry
- key of the entryoriginalBytes
- Pre-weaving class bytes - required in order to ensure that the cached entry refers to the same original class
-