Class Query<TData, TPayload>
A Query defines an operation that can be used to filter a data set.
Inherited Members
Namespace: UnityEditor.Search
Assembly: com.unity.quicksearch.dll
Syntax
public class Query<TData, TPayload> where TPayload : class
Type Parameters
Name | Description |
---|---|
TData | The filtered data type. |
TPayload | The payload type. |
Properties
errors
List of QueryErrors.
Declaration
public ICollection<QueryError> errors { get; }
Property Value
Type | Description |
---|---|
ICollection<QueryError> |
text
The text that generated this query.
Declaration
public string text { get; }
Property Value
Type | Description |
---|---|
string |
tokens
List of tokens found in the query.
Declaration
public ICollection<string> tokens { get; }
Property Value
Type | Description |
---|---|
ICollection<string> |
valid
Indicates if the query is valid or not.
Declaration
public bool valid { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
Apply(TPayload)
Apply the filtering on a payload.
Declaration
public virtual IEnumerable<TData> Apply(TPayload payload = null)
Parameters
Type | Name | Description |
---|---|---|
TPayload | payload | The data to filter |
Returns
Type | Description |
---|---|
IEnumerable<TData> | A filtered IEnumerable. |
GetNodeAtPosition(int)
Get the query node located at the specified position in the query.
Declaration
public IQueryNode GetNodeAtPosition(int position)
Parameters
Type | Name | Description |
---|---|---|
int | position | The position of the query node in the text. |
Returns
Type | Description |
---|---|
IQueryNode | An IQueryNode. |
Optimize(bool, bool)
Optimize the query by optimizing the underlying filtering graph.
Declaration
public void Optimize(bool propagateNotToLeaves, bool swapNotToRightHandSide)
Parameters
Type | Name | Description |
---|---|---|
bool | propagateNotToLeaves | Propagate "Not" operations to leaves, so only leaves can have "Not" operations as parents. |
bool | swapNotToRightHandSide | Swaps "Not" operations to the right hand side of combining operations (i.e. "And", "Or"). Useful if a "Not" operation is slow. |
Optimize(QueryGraphOptimizationOptions)
Optimize the query by optimizing the underlying filtering graph.
Declaration
public void Optimize(QueryGraphOptimizationOptions options)
Parameters
Type | Name | Description |
---|---|---|
QueryGraphOptimizationOptions | options | Optimization options. |