Interface TraceSymbolView<T extends TraceSymbol>

Type Parameters:
T - the type of symbols in the view
All Known Subinterfaces:
TraceClassSymbolView, TraceLabelSymbolView, TraceNamespaceSymbolView, TraceSymbolNoDuplicatesView<T>, TraceSymbolWithAddressNoDuplicatesView<T>, TraceSymbolWithAddressView<T>, TraceSymbolWithLocationView<T>
All Known Implementing Classes:
DBTraceClassSymbolView, DBTraceLabelSymbolView, DBTraceNamespaceSymbolView, DBTraceSymbolMultipleTypesNoDuplicatesView, DBTraceSymbolMultipleTypesView, DBTraceSymbolMultipleTypesWithAddressNoDuplicatesView, DBTraceSymbolMultipleTypesWithAddressView, DBTraceSymbolMultipleTypesWithLocationView

public interface TraceSymbolView<T extends TraceSymbol>
A type-specific view in the trace symbol table

The sub-interfaces of this handle the nuances for symbol types with more capabilities and/or restrictions.

  • Method Details

    • getTrace

      default Trace getTrace()
      Get the trace that contains this view
      Returns:
      the trace
    • getManager

      TraceSymbolManager getManager()
      Get the symbol manager for the trace.
      Returns:
      the symbol manager
    • size

      default int size(boolean includeDynamicSymbols)
      Get the number of symbols in this view.
      Parameters:
      includeDynamicSymbols - true to include dynamically-generated symbols
      Returns:
      the number of symbols
    • getAll

      Collection<? extends T> getAll(boolean includeDynamicSymbols)
      Get all the symbols in this view.
      Parameters:
      includeDynamicSymbols - true to include dynamically-generated symbols
      Returns:
      the symbols in this view satisfying the query
    • getChildrenNamed

      Collection<? extends T> getChildrenNamed(String name, TraceNamespaceSymbol parent)
      Get all children of the given parent namespace having the given name in this view.
      Parameters:
      name - the name of the symbols
      parent - the parent namespace
      Returns:
      the symbols in this view satisfying the query
    • getChildren

      Collection<? extends T> getChildren(TraceNamespaceSymbol parent)
      Get all children of the given parent namespace in this view.
      Parameters:
      parent - the parent namespace
      Returns:
      the symbols in this view satisfying the query
    • getGlobalsNamed

      default Collection<? extends T> getGlobalsNamed(String name)
      A shorthand for getChildrenNamed(String, TraceNamespaceSymbol) where parent is the global namespace.
      Parameters:
      name - the name of the symbols
      Returns:
      the symbols in this view satisfying the query
    • getGlobals

      default Collection<? extends T> getGlobals()
      A shorthand for getChildren(TraceNamespaceSymbol) where parent is the global namespace.
      Returns:
      the symbols in this view satisfying the query
    • getNamed

      Collection<? extends T> getNamed(String name)
      Get symbols in this view with the given name, regardless of parent namespace
      Parameters:
      name - the name of the symbols
      Returns:
      the symbols in this view satisfying the query
    • getWithMatchingName

      Collection<? extends T> getWithMatchingName(String glob, boolean caseSensitive)
      Get symbols in this view whose names match the given glob, regardless of parent namespace
      Parameters:
      glob - the glob (* matches zero-or-more, ? matches one character)
      caseSensitive - true to match case
      Returns:
      the symbols in this view satisfying the query
    • scanByName

      Iterator<? extends T> scanByName(String startName)
      Scan symbols in this view lexicographically by name starting at the given lower bound
      Parameters:
      startName - the starting lower bound
      Returns:
      an iterator over symbols in this view satisfying the query