|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.lucene.queryParser.core.builders.QueryTreeBuilder
public class QueryTreeBuilder
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 FieldableNode 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, the node is
delegated to this builder and it's responsible to build the node and its
children.
QueryBuilder| Field Summary | |
|---|---|
static String |
QUERY_TREE_BUILDER_TAGID
This tag is used to tag the nodes in a query tree with the built objects produced from their own associated builder. |
| Constructor Summary | |
|---|---|
QueryTreeBuilder()
QueryTreeBuilder constructor. |
|
| Method Summary | |
|---|---|
Object |
build(QueryNode queryNode)
Builds some kind of object from a query tree. |
void |
setBuilder(CharSequence fieldName,
QueryBuilder builder)
Associates a field name with a builder. |
void |
setBuilder(Class<? extends QueryNode> queryNodeClass,
QueryBuilder builder)
Associates a class with a builder |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String QUERY_TREE_BUILDER_TAGID
| Constructor Detail |
|---|
public QueryTreeBuilder()
QueryTreeBuilder constructor.
| Method Detail |
|---|
public void setBuilder(CharSequence fieldName,
QueryBuilder builder)
fieldName - the field namebuilder - the builder to be associated
public void setBuilder(Class<? extends QueryNode> queryNodeClass,
QueryBuilder builder)
queryNodeClass - the classbuilder - the builder to be associated
public Object build(QueryNode queryNode)
throws QueryNodeException
build in interface QueryBuilderqueryNode - the query tree root node
QueryNodeException - if some node builder throws a QueryNodeException or if
there is a node which had no builder associated to it
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||