public class ShapeDataCache extends java.lang.Object implements java.lang.Iterable<ShapeDataCache.ShapeDataCacheEntry>
WorldWindow
s.
This cache limits the amount of time an entry remains in the cache unused. The maximum unused time may be specified.
Entries unused within the specified duration are removed from the cache each time getEntry(gov.nasa.worldwind.globes.Globe)
is called.
Modifier and Type | Class and Description |
---|---|
static class |
ShapeDataCache.ShapeDataCacheEntry |
Modifier and Type | Field and Description |
---|---|
protected java.util.HashMap<GlobeStateKey,ShapeDataCache.ShapeDataCacheEntry> |
entries
This cache's map of entries.
|
protected long |
maxTimeSinceLastUsed
The maximum number of milliseconds an entry may remain in the cache without being used.
|
Constructor and Description |
---|
ShapeDataCache(long maxTimeSinceLastUsed)
Construct a cache with a specified entry lifetime.
|
Modifier and Type | Method and Description |
---|---|
void |
addEntry(ShapeDataCache.ShapeDataCacheEntry entry)
Adds a specified entry to the cache or replaces an entry associated with the same globe.
|
void |
clearExtents()
Set to null the extent field of all entries in this cache.
|
ShapeDataCache.ShapeDataCacheEntry |
getEntry(Globe globe)
Retrieves a specified entry from the cache.
|
java.util.Iterator<ShapeDataCache.ShapeDataCacheEntry> |
iterator() |
void |
removeAllEntries()
Remove all entries from this cache.
|
void |
setAllExpired(boolean isExpired)
Set all entries in this cache to a specified expiration state.
|
protected java.util.HashMap<GlobeStateKey,ShapeDataCache.ShapeDataCacheEntry> entries
protected long maxTimeSinceLastUsed
public ShapeDataCache(long maxTimeSinceLastUsed)
maxTimeSinceLastUsed
- the maximum number of milliseconds an entry may remain in the cache without being
used.public void addEntry(ShapeDataCache.ShapeDataCacheEntry entry)
entry
- the entry to add. If null, the cache remains unchanged.public void clearExtents()
public ShapeDataCache.ShapeDataCacheEntry getEntry(Globe globe)
Note: Each time this method is called the cache is cleared of dead entries, as defined by their last-used time relative to this cache's maximum unused time.
globe
- the globe the entry is associated with.public java.util.Iterator<ShapeDataCache.ShapeDataCacheEntry> iterator()
iterator
in interface java.lang.Iterable<ShapeDataCache.ShapeDataCacheEntry>
public void removeAllEntries()
public void setAllExpired(boolean isExpired)
isExpired
- the expiration state.