Class HasNamedChildBSimFilterType

java.lang.Object
ghidra.features.bsim.gui.filters.BSimFilterType
ghidra.features.bsim.gui.filters.HasNamedChildBSimFilterType
All Implemented Interfaces:
Comparable<BSimFilterType>

public class HasNamedChildBSimFilterType extends BSimFilterType
A BsimFilterType for filtering functions based on calls to specific external functions. The called function must be external, i.e. in terms of the database, the function must be associated with a library executable (having no code body)
  • Field Details

  • Constructor Details

    • HasNamedChildBSimFilterType

      public HasNamedChildBSimFilterType()
  • Method Details

    • isChildFilter

      public boolean isChildFilter()
      Overrides:
      isChildFilter in class BSimFilterType
      Returns:
      true if this is a filter element based on callgraph information of functions
    • isLocal

      public boolean isLocal()
      Overrides:
      isLocal in class BSimFilterType
      Returns:
      true if any id's relevant to this filter must be resolved relative to the local ColumnDatabase
    • gatherSQLEffect

      public void gatherSQLEffect(SQLEffects effect, FilterAtom atom, IDSQLResolution resolution) throws SQLException
      Description copied from class: BSimFilterType
      Gather all pieces to successfully convert this filter element into an SQL clause
      Specified by:
      gatherSQLEffect in class BSimFilterType
      Parameters:
      effect - is SQLEffects container for this filter elements pieces and others
      atom - holds the values for a particular instantiation of this filter element
      resolution - is the IDResolution containing relevant row ids for the filter, which must have been precalculated
      Throws:
      SQLException - for errors building the SQL clause
    • gatherElasticEffect

      public void gatherElasticEffect(ElasticEffects effect, FilterAtom atom, IDElasticResolution resolution) throws ElasticException
      Description copied from class: BSimFilterType
      Gather pieces necessary to emit this filter as part of an elasticsearch query document
      Specified by:
      gatherElasticEffect in class BSimFilterType
      Parameters:
      effect - is the ElasticEffects container holding the pieces
      atom - holds the values for a particular instantiation of this filter element
      resolution - contains relevant ids for the filter, which must have been precalculated
      Throws:
      ElasticException - for errors building the JSON subdocument
    • evaluate

      public boolean evaluate(ExecutableRecord rec, String value)
      Description copied from class: BSimFilterType
      Evaluate this filter for a specific ExecutableRecord and a specific filter -value-
      Specified by:
      evaluate in class BSimFilterType
      Parameters:
      rec - is the ExecutableRecord to filter against
      value - is the String value for an instantiated filter
      Returns:
      true if this element would allow the ExecutableRecord to pass the filter
    • generateIDSQLResolution

      public IDSQLResolution generateIDSQLResolution(FilterAtom atom)
      Description copied from class: BSimFilterType
      Construct a record describing the column id's that might need to be recovered before this filter element can be converted to an SQL clause
      Specified by:
      generateIDSQLResolution in class BSimFilterType
      Parameters:
      atom - is the specific FilterAtom to generate the record for
      Returns:
      the IDSQLResolution record or null if no ids need to be recovered
    • generateIDElasticResolution

      public IDElasticResolution generateIDElasticResolution(FilterAtom atom)
      Description copied from class: BSimFilterType
      Construct a record describing the document id's that might be needed before this filter element can be converted to an Elasticsearch filter script clause
      Overrides:
      generateIDElasticResolution in class BSimFilterType
      Parameters:
      atom - is the specific FilterAtom to generate the record for
      Returns:
      the record or null if no ids need to be recovered