Package com.jme3.asset.cache
Interface AssetCache
- All Known Implementing Classes:
- SimpleAssetCache,- WeakRefAssetCache,- WeakRefCloneAssetCache
public interface AssetCache
AssetCache is an interface for asset caches. 
 Allowing storage of loaded resources in order to improve their access time 
 if they are requested again in a short period of time.
 Depending on the asset type and how it is used, a specialized 
 caching method can be selected that is most appropriate for that asset type.
 The asset cache must be thread safe.
 
 Some caches are used to manage cloneable assets, which track reachability
 based on a shared key in all instances exposed in user code. 
 E.g. WeakRefCloneAssetCache uses this approach.
 For those particular caches, either registerAssetClone(com.jme3.asset.AssetKey, java.lang.Object)
 or notifyNoAssetClone() MUST be called to avoid memory 
 leaking following a successful addToCache(com.jme3.asset.AssetKey, java.lang.Object)
 or getFromCache(com.jme3.asset.AssetKey) call!
- 
Method SummaryModifier and TypeMethodDescription<T> voidaddToCache(AssetKey<T> key, T obj) Adds an asset to the cache.voidDeletes all assets from the cache.booleandeleteFromCache(AssetKey key) Deletes an asset from the cache.<T> TgetFromCache(AssetKey<T> key) Retrieves an asset from the cache.voidNotifies the cache that even though the methodsaddToCache(com.jme3.asset.AssetKey, java.lang.Object)orgetFromCache(com.jme3.asset.AssetKey)were used, there won't be a call toregisterAssetClone(com.jme3.asset.AssetKey, java.lang.Object)for some reason.<T> voidregisterAssetClone(AssetKey<T> key, T clone) This should be called by the asset manager when it has successfully acquired a cached asset (withgetFromCache(com.jme3.asset.AssetKey)) and cloned it for use.
- 
Method Details- 
addToCacheAdds an asset to the cache. Once added, it should be possible to retrieve the asset by using thegetFromCache(com.jme3.asset.AssetKey)method. However, the caching criteria may at some point decide that the asset should be removed from the cache to save memory. In that case,getFromCache(com.jme3.asset.AssetKey)will return null.Thread-Safe - Type Parameters:
- T- The type of the asset to cache.
- Parameters:
- key- The asset key that can be used to look up the asset.
- obj- The asset data to cache.
 
- 
registerAssetCloneThis should be called by the asset manager when it has successfully acquired a cached asset (withgetFromCache(com.jme3.asset.AssetKey)) and cloned it for use.Thread-Safe - Type Parameters:
- T- The type of the asset to register.
- Parameters:
- key- The asset key of the loaded asset (used to retrieve from cache)
- clone- The clone of the asset retrieved from the cache.
 
- 
notifyNoAssetClonevoid notifyNoAssetClone()Notifies the cache that even though the methodsaddToCache(com.jme3.asset.AssetKey, java.lang.Object)orgetFromCache(com.jme3.asset.AssetKey)were used, there won't be a call toregisterAssetClone(com.jme3.asset.AssetKey, java.lang.Object)for some reason. For example, if an error occurred during loading or if the addToCache/getFromCache were used from user code.
- 
getFromCacheRetrieves an asset from the cache. It is possible to add an asset to the cache usingaddToCache(com.jme3.asset.AssetKey, java.lang.Object). The asset may be removed from the cache automatically even if it was added previously, in that case, this method will return null.Thread-Safe - Type Parameters:
- T- The type of the asset to retrieve
- Parameters:
- key- The key used to look up the asset.
- Returns:
- The asset that was previously cached, or null if not found.
 
- 
deleteFromCacheDeletes an asset from the cache.Thread-Safe - Parameters:
- key- The asset key to find the asset to delete.
- Returns:
- True if the asset was successfully found in the cache and removed.
 
- 
clearCachevoid clearCache()Deletes all assets from the cache.Thread-Safe 
 
-