Package ghidra.features.bsim.gui.filters
Class HasNamedChildBSimFilterType
java.lang.Object
ghidra.features.bsim.gui.filters.BSimFilterType
ghidra.features.bsim.gui.filters.HasNamedChildBSimFilterType
- All Implemented Interfaces:
Comparable<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 Summary
FieldsFields inherited from class ghidra.features.bsim.gui.filters.BSimFilterType
BLANK, hint, label, xmlval -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanevaluate(ExecutableRecord rec, String value) Evaluate this filter for a specific ExecutableRecord and a specific filter -value-voidgatherElasticEffect(ElasticEffects effect, FilterAtom atom, IDElasticResolution resolution) Gather pieces necessary to emit this filter as part of an elasticsearch query documentvoidgatherSQLEffect(SQLEffects effect, FilterAtom atom, IDSQLResolution resolution) Gather all pieces to successfully convert this filter element into an SQL clauseConstruct a record describing the document id's that might be needed before this filter element can be converted to an Elasticsearch filter script clauseConstruct a record describing the column id's that might need to be recovered before this filter element can be converted to an SQL clausebooleanbooleanisLocal()Methods inherited from class ghidra.features.bsim.gui.filters.BSimFilterType
buildElasticCombinedClause, buildSQLCombinedClause, compareTo, equals, generateBsimFilters, getBaseFilters, getBlank, getEditor, getHint, getLabel, getXmlValue, hashCode, isBlank, isMultipleEntryAllowed, isValidValue, nameToType, normalizeValue, orMultipleEntries, saveXml, toString
-
Field Details
-
XML_VALUE
- See Also:
-
-
Constructor Details
-
HasNamedChildBSimFilterType
public HasNamedChildBSimFilterType()
-
-
Method Details
-
isChildFilter
public boolean isChildFilter()- Overrides:
isChildFilterin classBSimFilterType- Returns:
- true if this is a filter element based on callgraph information of functions
-
isLocal
public boolean isLocal()- Overrides:
isLocalin classBSimFilterType- 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:BSimFilterTypeGather all pieces to successfully convert this filter element into an SQL clause- Specified by:
gatherSQLEffectin classBSimFilterType- Parameters:
effect- is SQLEffects container for this filter elements pieces and othersatom- holds the values for a particular instantiation of this filter elementresolution- 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:BSimFilterTypeGather pieces necessary to emit this filter as part of an elasticsearch query document- Specified by:
gatherElasticEffectin classBSimFilterType- Parameters:
effect- is the ElasticEffects container holding the piecesatom- holds the values for a particular instantiation of this filter elementresolution- contains relevant ids for the filter, which must have been precalculated- Throws:
ElasticException- for errors building the JSON subdocument
-
evaluate
Description copied from class:BSimFilterTypeEvaluate this filter for a specific ExecutableRecord and a specific filter -value-- Specified by:
evaluatein classBSimFilterType- Parameters:
rec- is the ExecutableRecord to filter againstvalue- is the String value for an instantiated filter- Returns:
- true if this element would allow the ExecutableRecord to pass the filter
-
generateIDSQLResolution
Description copied from class:BSimFilterTypeConstruct 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:
generateIDSQLResolutionin classBSimFilterType- 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
Description copied from class:BSimFilterTypeConstruct 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:
generateIDElasticResolutionin classBSimFilterType- Parameters:
atom- is the specific FilterAtom to generate the record for- Returns:
- the record or null if no ids need to be recovered
-