View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.jxpath.ri.compiler;
18  
19  import org.apache.commons.jxpath.ri.QName;
20  
21  /**
22   * @author Dmitri Plotnikov
23   * @version $Revision: 652845 $ $Date: 2008-05-02 13:46:46 -0400 (Fri, 02 May 2008) $
24   */
25  public class NodeNameTest extends NodeTest {
26      private QName qname;
27      private String namespaceURI;
28  
29      /**
30       * Create a new NodeNameTest.
31       * @param qname name to match
32       */
33      public NodeNameTest(QName qname) {
34          this.qname = qname;
35      }
36  
37      /**
38       * Create a new NodeNameTest.
39       * @param qname name to match
40       * @param namespaceURI uri to match
41       */
42      public NodeNameTest(QName qname, String namespaceURI) {
43          this.qname = qname;
44          this.namespaceURI = namespaceURI;
45      }
46  
47      /**
48       * Get the node name.
49       * @return QName
50       */
51      public QName getNodeName() {
52          return qname;
53      }
54  
55      /**
56       * Get the ns URI.
57       * @return String
58       */
59      public String getNamespaceURI() {
60          return namespaceURI;
61      }
62  
63      /**
64       * Learn whether this is a wildcard test.
65       * @return <code>true</code> if the node name is "*".
66       */
67      public boolean isWildcard() {
68          return qname.getName().equals("*");
69      }
70  
71      public String toString() {
72          return qname.toString();
73      }
74  }