001 /*
002 * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons-sandbox//xmlio/src/java/org/apache/commons/xmlio/in/Item.java,v 1.1 2004/10/08 11:56:20 ozeigermann Exp $
003 * $Revision: 155476 $
004 * $Date: 2005-02-26 13:31:24 +0000 (Sat, 26 Feb 2005) $
005 *
006 * ====================================================================
007 *
008 * Copyright 2004 The Apache Software Foundation
009 *
010 * Licensed under the Apache License, Version 2.0 (the "License");
011 * you may not use this file except in compliance with the License.
012 * You may obtain a copy of the License at
013 *
014 * http://www.apache.org/licenses/LICENSE-2.0
015 *
016 * Unless required by applicable law or agreed to in writing, software
017 * distributed under the License is distributed on an "AS IS" BASIS,
018 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
019 * See the License for the specific language governing permissions and
020 * limitations under the License.
021 *
022 */
023
024 package org.apache.commons.xmlio.in;
025
026 /**
027 * Represntation of a path element.
028 *
029 */
030 public final class Item {
031
032 public static final Item ITEM_ANY = null;
033
034 private final String namespaceURI;
035 private final String name;
036
037 public Item() {
038 this(null, null);
039 }
040 public Item(String name) {
041 this(name, null);
042 }
043
044 public Item(String name, String namespaceURI) {
045 this.namespaceURI = namespaceURI;
046 this.name = name;
047 }
048
049 public String getName() {
050 return name;
051 }
052
053 public String getNamespaceURI() {
054 return namespaceURI;
055 }
056
057 public boolean equals(Object o) {
058 if (o == null) {
059 return true;
060 }
061 if (!(o instanceof Item)) {
062 return false;
063 }
064 Item token = (Item) o;
065 return (
066 (token.name == null || this.name.equals(token.name))
067 && (this.namespaceURI == null
068 || token.namespaceURI == null
069 || this.namespaceURI.equals(token.namespaceURI)));
070
071 }
072
073 public String toString() {
074 if (namespaceURI == null || namespaceURI.length() == 0) {
075 return name;
076 } else {
077 return namespaceURI + ":" +name;
078 }
079 }
080 }