S - The type of the key that is used for identifying stored classes per class loader. Such keys must not strongly reference any
types or class loaders without potentially corrupting the garbage eligibility of stored classes. As the storage is segmented
by class loader, it is normally sufficient to store types by their name.public static class TypeCache.WithInlineExpunction<S> extends TypeCache<S>
TypeCache where obsolete references are cleared upon any call.TypeCacheTypeCache.LookupKey, TypeCache.SimpleKey, TypeCache.Sort, TypeCache.StorageKey, TypeCache.WithInlineExpunction<S>| Constructor and Description |
|---|
WithInlineExpunction(TypeCache.Sort sort)
Creats a new type cache with inlined expunction.
|
| Modifier and Type | Method and Description |
|---|---|
Class<?> |
find(ClassLoader classLoader,
S key)
Finds a stored type or returns
null if no type was stored. |
Class<?> |
findOrInsert(ClassLoader classLoader,
S key,
Callable<Class<?>> builder)
Finds an existing type or inserts a new one if the previous type was not found.
|
Class<?> |
findOrInsert(ClassLoader classLoader,
S key,
Callable<Class<?>> builder,
Object monitor)
Finds an existing type or inserts a new one if the previous type was not found.
|
Class<?> |
insert(ClassLoader classLoader,
S key,
Class<?> type)
Inserts a new type into the cache.
|
clear, expungeStaleEntriespoll, remove, removepublic WithInlineExpunction(TypeCache.Sort sort)
sort - The reference type to use for stored types.public Class<?> find(ClassLoader classLoader, S key)
TypeCachenull if no type was stored.public Class<?> insert(ClassLoader classLoader, S key, Class<?> type)
TypeCacheinsert in class TypeCache<S>classLoader - The class loader for which this type is stored.key - The key for the type in question.type - The type to insert of no previous type was stored in the cache.public Class<?> findOrInsert(ClassLoader classLoader, S key, Callable<Class<?>> builder)
TypeCachefindOrInsert in class TypeCache<S>classLoader - The class loader for which this type is stored.key - The key for the type in question.builder - A lazy creator for the type to insert of no previous type was stored in the cache.public Class<?> findOrInsert(ClassLoader classLoader, S key, Callable<Class<?>> builder, Object monitor)
TypeCachefindOrInsert in class TypeCache<S>classLoader - The class loader for which this type is stored.key - The key for the type in question.builder - A lazy creator for the type to insert of no previous type was stored in the cache.monitor - A monitor to lock before creating the lazy type.Copyright © 2014–2017. All rights reserved.