01: /*
02: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
03: *
04: * This file is part of Resin(R) Open Source
05: *
06: * Each copy or derived work must preserve the copyright notice and this
07: * notice unmodified.
08: *
09: * Resin Open Source is free software; you can redistribute it and/or modify
10: * it under the terms of the GNU General Public License as published by
11: * the Free Software Foundation; either version 2 of the License, or
12: * (at your option) any later version.
13: *
14: * Resin Open Source is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17: * of NON-INFRINGEMENT. See the GNU General Public License for more
18: * details.
19: *
20: * You should have received a copy of the GNU General Public License
21: * along with Resin Open Source; if not, write to the
22: *
23: * Free Software Foundation, Inc.
24: * 59 Temple Place, Suite 330
25: * Boston, MA 02111-1307 USA
26: *
27: * @author Emil Ong
28: */
29:
30: package com.caucho.xml.stream.events;
31:
32: import javax.xml.namespace.QName;
33: import javax.xml.stream.events.Namespace;
34:
35: public class NamespaceImpl extends AttributeImpl implements Namespace {
36: private final String _namespaceURI;
37: private final String _prefix;
38:
39: public NamespaceImpl(String namespaceURI, String prefix) {
40: super ("".equals(prefix) || prefix == null ? new QName(
41: "http://www.w3.org/2000/xmlns/", "xmlns") : new QName(
42: "http://www.w3.org/2000/xmlns/", prefix, "xmlns"),
43: namespaceURI);
44: _namespaceURI = namespaceURI;
45: _prefix = prefix;
46: }
47:
48: public String getNamespaceURI() {
49: return _namespaceURI;
50: }
51:
52: public String getPrefix() {
53: return _prefix;
54: }
55:
56: public boolean isDefaultNamespaceDeclaration() {
57: return _prefix == null || "".equals(_prefix);
58: }
59:
60: public int getEventType() {
61: return NAMESPACE;
62: }
63:
64: public String toString() {
65: return "xmlns:" + _prefix + "=" + _namespaceURI;
66: }
67:
68: public boolean equals(Object o) {
69: if (!(o instanceof Namespace))
70: return false;
71: if (o == null)
72: return false;
73: if (this == o)
74: return true;
75:
76: Namespace namespace = (Namespace) o;
77:
78: return getNamespaceURI().equals(namespace.getNamespaceURI())
79: && getPrefix().equals(namespace.getPrefix());
80: }
81: }
|