Home » lucene-3.0.1-src » org.apache.lucene.queryParser.core.nodes » [javadoc | source]

    1   package org.apache.lucene.queryParser.core.nodes;
    2   
    3   /**
    4    * Licensed to the Apache Software Foundation (ASF) under one or more
    5    * contributor license agreements.  See the NOTICE file distributed with
    6    * this work for additional information regarding copyright ownership.
    7    * The ASF licenses this file to You under the Apache License, Version 2.0
    8    * (the "License"); you may not use this file except in compliance with
    9    * the License.  You may obtain a copy of the License at
   10    *
   11    *     http://www.apache.org/licenses/LICENSE-2.0
   12    *
   13    * Unless required by applicable law or agreed to in writing, software
   14    * distributed under the License is distributed on an "AS IS" BASIS,
   15    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   16    * See the License for the specific language governing permissions and
   17    * limitations under the License.
   18    */
   19   
   20   import org.apache.lucene.queryParser.core.parser.EscapeQuerySyntax;
   21   
   22   /**
   23    * A {@link OpaqueQueryNode} is used for specify values that are not supposed to
   24    * be parsed by the parser. For example: and XPATH query in the middle of a
   25    * query string a b @xpath:'/bookstore/book[1]/title' c d
   26    */
   27   public class OpaqueQueryNode extends QueryNodeImpl {
   28   
   29     private static final long serialVersionUID = 0L;
   30   
   31     private CharSequence schema = null;
   32   
   33     private CharSequence value = null;
   34   
   35     /**
   36      * @param schema
   37      *          - schema identifier
   38      * @param value
   39      *          - value that was not parsed
   40      */
   41     public OpaqueQueryNode(CharSequence schema, CharSequence value) {
   42       this.setLeaf(true);
   43   
   44       this.schema = schema;
   45       this.value = value;
   46   
   47     }
   48   
   49     @Override
   50     public String toString() {
   51       return "<opaque schema='" + this.schema + "' value='" + this.value + "'/>";
   52     }
   53   
   54     public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser) {
   55       return "@" + this.schema + ":'" + this.value + "'";
   56     }
   57   
   58     @Override
   59     public QueryNode cloneTree() throws CloneNotSupportedException {
   60       OpaqueQueryNode clone = (OpaqueQueryNode) super.cloneTree();
   61   
   62       clone.schema = this.schema;
   63       clone.value = this.value;
   64   
   65       return clone;
   66     }
   67   
   68     /**
   69      * @return the schema
   70      */
   71     public CharSequence getSchema() {
   72       return this.schema;
   73     }
   74   
   75     /**
   76      * @return the value
   77      */
   78     public CharSequence getValue() {
   79       return this.value;
   80     }
   81   
   82   }

Home » lucene-3.0.1-src » org.apache.lucene.queryParser.core.nodes » [javadoc | source]