Package ghidra.trace.database

# Class DBTraceCacheForContainingQueries<K extends DBTraceCacheForContainingQueries.GetKey,V,T>

java.lang.Object
ghidra.trace.database.DBTraceCacheForContainingQueries<K,V,T>

Direct Known Subclasses:
  `AbstractBaseDBTraceDefinedUnitsView.CacheForGetUnitContainingQueries`, `AbstractDBTraceSymbolSingleTypeWithLocationView.CacheForGetSymbolsAtQueries`

public abstract class DBTraceCacheForContainingQueries<K extends DBTraceCacheForContainingQueries.GetKey,V,T> extends Object

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `DBTraceCacheForContainingQueries.GetKey`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final int`
  `addressBreadth`
  `protected final Map<K,V>`
  `pointCache`
  `protected final List<Map.Entry<TraceAddressSnapRange,T>>`
  `rangeCache`
  `protected TraceAddressSnapRange`
  `rangeCacheRange`
  `protected final int`
  `snapBreadth`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBTraceCacheForContainingQueries(int snapBreadth, int addressBreadth, int maxPoints)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected TraceAddressSnapRange`
  `computeNewCachedRange(long snap, Address address)`
  `protected abstract V`
  `doGetContaining(K key)`
  `protected void`
  `ensureInCachedRange(long snap, Address address)`
  `protected List<? extends T>`
  `getAllInRangeCacheContaining(K key)`
  `V`
  `getContaining(K key)`
  `protected T`
  `getFirstInRangeCacheContaining(K key)`
  `void`
  `invalidate()`
  `protected boolean`
  `isInCachedRange(long snap, Address address)`
  `protected abstract void`
  `loadRangeCache(TraceAddressSnapRange range)`
  `void`
  `notifyEntryRemoved(Lifespan lifespan, AddressRange range, T item)`
  `void`
  `notifyEntryShapeChanged(Lifespan lifespan, AddressRange range, T item)`
  `void`
  `notifyNewEntries(Lifespan lifespan, AddressSetView addresses, T item)`
  `void`
  `notifyNewEntry(Lifespan lifespan, AddressRange range, T item)`
  `void`
  `notifyNewEntry(Lifespan lifespan, Address address, T item)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### snapBreadth

    protected final int snapBreadth

  - ### addressBreadth

    protected final int addressBreadth

  - ### rangeCache

    protected final List<Map.Entry<TraceAddressSnapRange,T>> rangeCache

  - ### rangeCacheRange

    protected TraceAddressSnapRange rangeCacheRange

  - ### pointCache

    protected final Map<K extends DBTraceCacheForContainingQueries.GetKey,V> pointCache

- ## Constructor Details

  - ### DBTraceCacheForContainingQueries

    public DBTraceCacheForContainingQueries(int snapBreadth, int addressBreadth, int maxPoints)

- ## Method Details

  - ### loadRangeCache

    protected abstract void loadRangeCache(TraceAddressSnapRange range)

  - ### doGetContaining

    protected abstract V doGetContaining(K key)

  - ### getAllInRangeCacheContaining

    protected List<? extends T> getAllInRangeCacheContaining(K key)

  - ### getFirstInRangeCacheContaining

    protected T getFirstInRangeCacheContaining(K key)

  - ### isInCachedRange

    protected boolean isInCachedRange(long snap, Address address)

  - ### ensureInCachedRange

    protected void ensureInCachedRange(long snap, Address address)

  - ### computeNewCachedRange

    protected TraceAddressSnapRange computeNewCachedRange(long snap, Address address)

  - ### getContaining

    public V getContaining(K key)

  - ### notifyNewEntry

    public void notifyNewEntry(Lifespan lifespan, Address address, T item)

  - ### notifyNewEntry

    public void notifyNewEntry(Lifespan lifespan, AddressRange range, T item)

  - ### notifyNewEntries

    public void notifyNewEntries(Lifespan lifespan, AddressSetView addresses, T item)

  - ### notifyEntryRemoved

    public void notifyEntryRemoved(Lifespan lifespan, AddressRange range, T item)

  - ### notifyEntryShapeChanged

    public void notifyEntryShapeChanged(Lifespan lifespan, AddressRange range, T item)

  - ### invalidate

    public void invalidate()