Class QueryTreeBuilder<TQuery>
This class should be used when there is a builder for each type of node.
The type of node may be defined in 2 different ways: - by the field name, when the node implements the IFieldableNode interface - by its class, it keeps checking the class and all the interfaces and classes this class implements/extends until it finds a builder for that class/interface
This class always check if there is a builder for the field name before it checks for the node class. So, field name builders have precedence over class builders.
When a builder is found for a node, it's called and the node is passed to the
builder. If the returned built object is not null
, it's tagged
on the node using the tag QUERY_TREE_BUILDER_TAGID.
The children are usually built before the parent node. However, if a builder associated to a node is an instance of QueryTreeBuilder<TQuery>, the node is delegated to this builder and it's responsible to build the node and its children.
IQueryBuilder<TQuery>Inherited Members
Assembly: Lucene.Net.QueryParser.dll
Syntax
[Serializable]
public class QueryTreeBuilder<TQuery> : QueryTreeBuilder, IQueryBuilder<TQuery>
Type Parameters
Name | Description |
---|---|
TQuery |
Constructors
Name | Description |
---|---|
QueryTreeBuilder() | QueryTreeBuilder<TQuery> constructor. |
Methods
Name | Description |
---|---|
Build(IQueryNode) | Builds some kind of object from a query tree. Each node in the query tree is built using an specific builder associated to it. |
SetBuilder(String, IQueryBuilder<TQuery>) | Associates a field name with a builder. |
SetBuilder(Type, IQueryBuilder<TQuery>) | Associates a System.Type (that implements IQueryNode) with a builder |