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 19:46:46 +0200 (Fr, 02 Mai 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 }