9 package javolution.xml.internal.stream;
11 import java.util.Iterator;
40 "http://www.w3.org/XML/1998/namespace");
97 throw new IllegalArgumentException(
"null prefix not allowed");
102 if ((prefix ==
null) || (prefix.length() == 0))
105 for (
int i = count; --i >= 0;) {
115 throw new IllegalArgumentException(
"null namespace URI not allowed");
121 for (
int i = count; --i >= 0;) {
124 if (
namespace.equals(uri)) {
126 boolean isPrefixOverwritten =
false;
127 for (
int j = i + 1; j < count; j++) {
129 isPrefixOverwritten =
true;
133 if (!isPrefixOverwritten)
141 public Iterator<CharArray>
getPrefixes(CharSequence namespaceURI) {
156 if (prefix.
length() == 0) {
166 void setPrefix(
final CharSequence prefix, CharSequence uri,
170 final int prefixLength = prefix.length();
172 if ((prefixTmp ==
null) || (prefixTmp.
array().length < prefixLength)) {
174 new char[prefixLength + 32], 0, 0);
177 for (
int i = 0; i < prefixLength; i++) {
178 prefixTmp.
array()[i] = prefix.charAt(i);
182 final int uriLength = uri.
length();
184 if ((namespaceTmp ==
null) || (namespaceTmp.
array().length < uriLength)) {
186 new char[uriLength + 32], 0, 0);
189 for (
int i = 0; i < uriLength; i++) {
190 namespaceTmp.
array()[i] = uri.charAt(i);
210 for (
int i = count; --i >= 0;) {
216 throw new Error(
"Cannot find default namespace");
236 final int newLength = oldLength * 2;
239 int[] tmp =
new int[newLength];
247 final int newLength = oldLength * 2;
251 System.arraycopy(
_prefixes, 0, tmp0, 0, oldLength);
256 System.arraycopy(
_namespaces, 0, tmp1, 0, oldLength);
260 boolean[] tmp2 =
new boolean[newLength];