Package ghidra.trace.database.address

# Class DBTraceOverlaySpaceAdapter

java.lang.Object
ghidra.trace.database.address.DBTraceOverlaySpaceAdapter

All Implemented Interfaces:
  `ErrorHandler`, `DBTraceManager`

public class DBTraceOverlaySpaceAdapter extends Object implements DBTraceManager

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `DBTraceOverlaySpaceAdapter.AddressDBFieldCodec<OT extends DBAnnotatedObject & DBTraceOverlaySpaceAdapter.DecodesAddresses>`
  Used for objects having an `Address` field.
  `protected static class`
  `DBTraceOverlaySpaceAdapter.DBTraceOverlaySpaceEntry`
  `static interface`
  `DBTraceOverlaySpaceAdapter.DecodesAddresses`
  An interface required for any object having a field using `DBTraceOverlaySpaceAdapter.AddressDBFieldCodec`.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final DBHandle`
  `dbh`
  `protected final ReadWriteLock`
  `lock`
  `protected final DBCachedObjectIndex<String,DBTraceOverlaySpaceAdapter.DBTraceOverlaySpaceEntry>`
  `overlaysByName`
  `protected final DBCachedObjectStore<DBTraceOverlaySpaceAdapter.DBTraceOverlaySpaceEntry>`
  `overlayStore`
  `protected final DBTrace`
  `trace`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBTraceOverlaySpaceAdapter(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, DBTrace trace)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AddressSpace`
  `createOverlayAddressSpace(String name, AddressSpace base)`
  `void`
  `dbError(IOException e)`
  Notification that an IO exception occurred.
  `void`
  `deleteOverlayAddressSpace(String name)`
  `protected AddressSpace`
  `doCreateOverlaySpace(String name, AddressSpace base)`
  `AddressSpace`
  `getOrCreateOverlayAddressSpace(String name, AddressSpace base)`
  `void`
  `invalidateCache(boolean all)`
  Invalidate this manager's caches
  `protected void`
  `resyncAddressFactory()`
  `protected void`
  `resyncAddressFactory(TraceAddressFactory factory)`

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

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

- ## Field Details

  - ### dbh

    protected final DBHandle dbh

  - ### lock

    protected final ReadWriteLock lock

  - ### trace

    protected final DBTrace trace

  - ### overlayStore

    protected final DBCachedObjectStore<DBTraceOverlaySpaceAdapter.DBTraceOverlaySpaceEntry> overlayStore

  - ### overlaysByName

    protected final DBCachedObjectIndex<String,DBTraceOverlaySpaceAdapter.DBTraceOverlaySpaceEntry> overlaysByName

- ## Constructor Details

  - ### DBTraceOverlaySpaceAdapter

    public DBTraceOverlaySpaceAdapter(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, DBTrace trace) throws VersionException, IOException
    Throws:
      `VersionException`
      `IOException`

- ## Method Details

  - ### dbError

    public void dbError(IOException e)
    Description copied from interface: `ErrorHandler`
    Notification that an IO exception occurred.
    Specified by:
      `dbError` in interface `ErrorHandler`
    Parameters:
      `e` - `IOException` which was cause of error

  - ### invalidateCache

    public void invalidateCache(boolean all)
    Description copied from interface: `DBTraceManager`
    Invalidate this manager's caches
    Specified by:
      `invalidateCache` in interface `DBTraceManager`
    Parameters:
      `all` - probably nothing. Check out implementations of `ManagerDB.invalidateCache(boolean)`.

  - ### resyncAddressFactory

    protected void resyncAddressFactory()

  - ### resyncAddressFactory

    protected void resyncAddressFactory(TraceAddressFactory factory)

  - ### doCreateOverlaySpace

    protected AddressSpace doCreateOverlaySpace(String name, AddressSpace base) throws DuplicateNameException
    Throws:
      `DuplicateNameException`

  - ### createOverlayAddressSpace

    public AddressSpace createOverlayAddressSpace(String name, AddressSpace base) throws DuplicateNameException
    Throws:
      `DuplicateNameException`

  - ### getOrCreateOverlayAddressSpace

    public AddressSpace getOrCreateOverlayAddressSpace(String name, AddressSpace base)

  - ### deleteOverlayAddressSpace

    public void deleteOverlayAddressSpace(String name)