pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.4.0 / lucene / contrib / queryparser / src / java / org / apache / lucene / queryParser / core / nodes / PathQueryNode.java
diff --git a/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/nodes/PathQueryNode.java b/lucene-java-3.4.0/lucene/contrib/queryparser/src/java/org/apache/lucene/queryParser/core/nodes/PathQueryNode.java
deleted file mode 100644 (file)
index 7364cbd..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.apache.lucene.queryParser.core.nodes;
-
-/**
- * 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 java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-import org.apache.lucene.queryParser.core.parser.EscapeQuerySyntax;
-import org.apache.lucene.queryParser.core.parser.EscapeQuerySyntax.Type;
-
-/**
- * A {@link PathQueryNode} is used to store queries like
- * /company/USA/California /product/shoes/brown. QueryText are objects that
- * contain the text, begin position and end position in the query.
- * <p>
- * Example how the text parser creates these objects:
- * </p>
- * <pre>
- * List values = ArrayList(); 
- * values.add(new PathQueryNode.QueryText("company", 1, 7)); 
- * values.add(new PathQueryNode.QueryText("USA", 9, 12)); 
- * values.add(new PathQueryNode.QueryText("California", 14, 23)); 
- * QueryNode q = new PathQueryNode(values);
- * </pre>
- */
-public class PathQueryNode extends QueryNodeImpl {
-
-  private static final long serialVersionUID = -8325921322405804789L;
-
-  public static class QueryText implements Cloneable {
-    CharSequence value = null;
-    /**
-     * != null The term's begin position.
-     */
-    int begin;
-
-    /**
-     * The term's end position.
-     */
-    int end;
-
-    /**
-     * @param value
-     *          - text value
-     * @param begin
-     *          - position in the query string
-     * @param end
-     *          - position in the query string
-     */
-    public QueryText(CharSequence value, int begin, int end) {
-      super();
-      this.value = value;
-      this.begin = begin;
-      this.end = end;
-    }
-
-    @Override
-    public QueryText clone() throws CloneNotSupportedException {
-      QueryText clone = (QueryText) super.clone();
-      clone.value = this.value;
-      clone.begin = this.begin;
-      clone.end = this.end;
-      return clone;
-    }
-
-    /**
-     * @return the value
-     */
-    public CharSequence getValue() {
-      return value;
-    }
-
-    /**
-     * @return the begin
-     */
-    public int getBegin() {
-      return begin;
-    }
-
-    /**
-     * @return the end
-     */
-    public int getEnd() {
-      return end;
-    }
-
-    @Override
-    public String toString() {
-      return value + ", " + begin + ", " + end;
-    }
-  }
-
-  private List<QueryText> values = null;
-
-  /**
-   * @param pathElements
-   *          - List of QueryText objects
-   */
-  public PathQueryNode(List<QueryText> pathElements) {
-    this.values = pathElements;
-    if (pathElements.size() <= 1) {
-      // this should not happen
-      throw new RuntimeException(
-          "PathQuerynode requires more 2 or more path elements.");
-    }
-  }
-
-  /**
-   * Returns the a List with all QueryText elements
-   * 
-   * @return QueryText List size
-   */
-  public List<QueryText> getPathElements() {
-    return values;
-  }
-
-  /**
-   * Returns the a List with all QueryText elements
-   */
-  public void setPathElements(List<QueryText> elements) {
-    this.values = elements;
-  }
-
-  /**
-   * Returns the a specific QueryText element
-   * 
-   * @return QueryText List size
-   */
-  public QueryText getPathElement(int index) {
-    return values.get(index);
-  }
-
-  /**
-   * Returns the CharSequence value of a specific QueryText element
-   * 
-   * @return the CharSequence for a specific QueryText element
-   */
-  public CharSequence getFirstPathElement() {
-    return values.get(0).value;
-  }
-
-  /**
-   * Returns a List QueryText element from position startIndex
-   * 
-   * @return a List QueryText element from position startIndex
-   */
-  public List<QueryText> getPathElements(int startIndex) {
-    List<PathQueryNode.QueryText> rValues = new ArrayList<PathQueryNode.QueryText>();
-    for (int i = startIndex; i < this.values.size(); i++) {
-      try {
-        rValues.add(this.values.get(i).clone());
-      } catch (CloneNotSupportedException e) {
-        // this will not happen
-      }
-    }
-    return rValues;
-  }
-
-  private CharSequence getPathString() {
-    StringBuilder path = new StringBuilder();
-
-    for (QueryText pathelement : values) {
-      path.append("/").append(pathelement.value);
-    }
-    return path.toString();
-  }
-
-  public CharSequence toQueryString(EscapeQuerySyntax escaper) {
-    StringBuilder path = new StringBuilder();
-    path.append("/").append(getFirstPathElement());
-
-    for (QueryText pathelement : getPathElements(1)) {
-      CharSequence value = escaper.escape(pathelement.value, Locale
-          .getDefault(), Type.STRING);
-      path.append("/\"").append(value).append("\"");
-    }
-    return path.toString();
-  }
-
-  @Override
-  public String toString() {
-    QueryText text = this.values.get(0);
-
-    return "<path start='" + text.begin + "' end='" + text.end + "' path='"
-        + getPathString() + "'/>";
-  }
-
-  @Override
-  public QueryNode cloneTree() throws CloneNotSupportedException {
-    PathQueryNode clone = (PathQueryNode) super.cloneTree();
-
-    // copy children
-    if (this.values != null) {
-      List<QueryText> localValues = new ArrayList<QueryText>();
-      for (QueryText value : this.values) {
-        localValues.add(value.clone());
-      }
-      clone.values = localValues;
-    }
-
-    return clone;
-  }
-
-}