X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/QueryParserHelper.java?ds=sidebyside diff --git a/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/QueryParserHelper.java b/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/QueryParserHelper.java deleted file mode 100644 index 626d8a5..0000000 --- a/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/QueryParserHelper.java +++ /dev/null @@ -1,261 +0,0 @@ -package org.apache.lucene.queryParser.core; - -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import org.apache.lucene.queryParser.core.builders.QueryBuilder; -import org.apache.lucene.queryParser.core.config.QueryConfigHandler; -import org.apache.lucene.queryParser.core.nodes.QueryNode; -import org.apache.lucene.queryParser.core.parser.SyntaxParser; -import org.apache.lucene.queryParser.core.processors.QueryNodeProcessor; - -/** - *

- * This class is a helper for the query parser framework, it does all the three - * query parser phrases at once: text parsing, query processing and query - * building. - *

- *

- * It contains methods that allows the user to change the implementation used on - * the three phases. - *

- * - * @see QueryNodeProcessor - * @see SyntaxParser - * @see QueryBuilder - * @see QueryConfigHandler - */ -public class QueryParserHelper { - - private QueryNodeProcessor processor; - - private SyntaxParser syntaxParser; - - private QueryBuilder builder; - - private QueryConfigHandler config; - - /** - * Creates a query parser helper object using the specified configuration, - * text parser, processor and builder. - * - * @param queryConfigHandler - * the query configuration handler that will be initially set to this - * helper - * @param syntaxParser - * the text parser that will be initially set to this helper - * @param processor - * the query processor that will be initially set to this helper - * @param builder - * the query builder that will be initially set to this helper - * - * @see QueryNodeProcessor - * @see SyntaxParser - * @see QueryBuilder - * @see QueryConfigHandler - */ - public QueryParserHelper(QueryConfigHandler queryConfigHandler, SyntaxParser syntaxParser, QueryNodeProcessor processor, - QueryBuilder builder) { - this.syntaxParser = syntaxParser; - this.config = queryConfigHandler; - this.processor = processor; - this.builder = builder; - - if (processor != null) { - processor.setQueryConfigHandler(queryConfigHandler); - } - - } - - /** - * Returns the processor object used to process the query node tree, it - * returns null if no processor is used. - * - * @return the actual processor used to process the query node tree, - * null if no processor is used - * - * @see QueryNodeProcessor - * @see #setQueryNodeProcessor(QueryNodeProcessor) - */ - public QueryNodeProcessor getQueryNodeProcessor() { - return processor; - } - - /** - * Sets the processor that will be used to process the query node tree. If - * there is any {@link QueryConfigHandler} returned by - * {@link #getQueryConfigHandler()}, it will be set on the processor. The - * argument can be null, which means that no processor will be - * used to process the query node tree. - * - * @param processor - * the processor that will be used to process the query node tree, - * this argument can be null - * - * @see #getQueryNodeProcessor() - * @see QueryNodeProcessor - */ - public void setQueryNodeProcessor(QueryNodeProcessor processor) { - this.processor = processor; - this.processor.setQueryConfigHandler(getQueryConfigHandler()); - - } - - /** - * Sets the text parser that will be used to parse the query string, it cannot - * be null. - * - * @param syntaxParser - * the text parser that will be used to parse the query string - * - * @see #getSyntaxParser() - * @see SyntaxParser - */ - public void setSyntaxParser(SyntaxParser syntaxParser) { - - if (syntaxParser == null) { - throw new IllegalArgumentException("textParser should not be null!"); - } - - this.syntaxParser = syntaxParser; - - } - - /** - * The query builder that will be used to build an object from the query node - * tree. It cannot be null. - * - * @param queryBuilder - * the query builder used to build something from the query node tree - * - * @see #getQueryBuilder() - * @see QueryBuilder - */ - public void setQueryBuilder(QueryBuilder queryBuilder) { - - if (queryBuilder == null) { - throw new IllegalArgumentException("queryBuilder should not be null!"); - } - - this.builder = queryBuilder; - - } - - /** - * Returns the query configuration handler, which is used during the query - * node tree processing. It can be null. - * - * @return the query configuration handler used on the query processing, - * null if not query configuration handler is defined - * - * @see QueryConfigHandler - * @see #setQueryConfigHandler(QueryConfigHandler) - */ - public QueryConfigHandler getQueryConfigHandler() { - return config; - } - - /** - * Returns the query builder used to build a object from the query node tree. - * The object produced by this builder is returned by - * {@link #parse(String, String)}. - * - * @return the query builder - * - * @see #setQueryBuilder(QueryBuilder) - * @see QueryBuilder - */ - public QueryBuilder getQueryBuilder() { - return this.builder; - } - - /** - * Returns the text parser used to build a query node tree from a query - * string. The default text parser instance returned by this method is a - * {@link SyntaxParser}. - * - * @return the text parse used to build query node trees. - * - * @see SyntaxParser - * @see #setSyntaxParser(SyntaxParser) - */ - public SyntaxParser getSyntaxParser() { - return this.syntaxParser; - } - - /** - * Sets the query configuration handler that will be used during query - * processing. It can be null. It's also set to the processor - * returned by {@link #getQueryNodeProcessor()}. - * - * @param config - * the query configuration handler used during query processing, it - * can be null - * - * @see #getQueryConfigHandler() - * @see QueryConfigHandler - */ - public void setQueryConfigHandler(QueryConfigHandler config) { - this.config = config; - QueryNodeProcessor processor = getQueryNodeProcessor(); - - if (processor != null) { - processor.setQueryConfigHandler(config); - } - - } - - /** - * Parses a query string to an object, usually some query object.
- *
- * In this method the three phases are executed:
- *
- *      1st - the query string is parsed using the - * text parser returned by {@link #getSyntaxParser()}, the result is a query - * node tree
- *
- *      2nd - the query node tree is processed by the - * processor returned by {@link #getQueryNodeProcessor()}
- *
- *      3th - a object is built from the query node - * tree using the builder returned by {@link #getQueryBuilder()} - * - * @param query - * the query string - * @param defaultField - * the default field used by the text parser - * - * @return the object built from the query - * - * @throws QueryNodeException - * if something wrong happens along the three phases - */ - public Object parse(String query, String defaultField) - throws QueryNodeException { - QueryNode queryTree = getSyntaxParser().parse(query, defaultField); - - QueryNodeProcessor processor = getQueryNodeProcessor(); - - if (processor != null) { - queryTree = processor.process(queryTree); - } - - return getQueryBuilder().build(queryTree); - - } - -}