Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java212
1 files changed, 0 insertions, 212 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
deleted file mode 100644
index 5c9539814..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ********************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-/**
- * String tokenizer.
- *
- * @author: Kulik
- */
-final public class StringTokenizer
-{
- private char[] spaceDel;
- private char[] del;
- private char[] allDel;
-
- /**
- * Enumeration of strings.
- * @author Kulik
- */
- private class StringTokenizerEnumeration implements java.util.Enumeration
- {
- private final char[] str;
- private final int size;
- private int index;
-
- /**
- * Constructor.
- * @param s
- */
- StringTokenizerEnumeration(char[] s)
- {
- str = s;
- size = str.length;
- index = 0;
-
- // skip space delimiters
- while (index < size && contain(str[index], spaceDel))
- index++;
- }
-
- /**
- * @see java.util.Enumeration#hasMoreElements()
- */
- public boolean hasMoreElements()
- {
- return (index < size);
- }
-
- /**
- * @see java.util.Enumeration#nextElement()
- */
- public Object nextElement()
- {
- if (index >= size)
- throw new java.util.NoSuchElementException(
- "StringTokenizer enumeration");
-
- // skip delimiters
- int begStr = index;
- if (index < size && contain(str[index], del))
- index++;
-
- // skip word
- if (begStr == index)
- while (index < size && !contain(str[index], allDel))
- index++;
-
- int endStr = index;
-
- // skip space delimiters
- while (index < size && contain(str[index], spaceDel))
- index++;
-
- return String.copyValueOf(str, begStr, endStr - begStr);
- }
-
- /**
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- int i = index;
- String s = (String) nextElement();
- index = i;
- return s;
- }
- }
-
- /**
- * StringTokenizer constructor.
- * @param spaceDelimiters the set of delimiters to be ignored
- * @param delimiters the set of delimiters to be remained.
- */
- public StringTokenizer(char[] spaceDelimiters, char[] delimiters)
- {
- super();
-
- if (spaceDelimiters != null)
- {
- spaceDel = new char[spaceDelimiters.length];
- System.arraycopy(spaceDelimiters, 0, spaceDel, 0, spaceDelimiters.length);
- sort(spaceDel);
- }
- else
- spaceDel = null;
-
- if (delimiters != null)
- {
- del = new char[delimiters.length];
- System.arraycopy(delimiters, 0, del, 0, delimiters.length);
- sort(del);
- }
- else
- del = null;
-
- if (del != null && spaceDel != null)
- {
- allDel = new char[del.length + spaceDel.length];
- System.arraycopy(del, 0, allDel, 0, del.length);
- System.arraycopy(spaceDel, 0, allDel, del.length, spaceDel.length);
- }
- else if (del != null)
- allDel = del;
- else
- allDel = spaceDel;
-
- sort(allDel);
- }
- /**
- * Parses string.
- * @return java.util.Enumeration
- * @param s java.lang.String
- */
- public java.util.Enumeration parse(String s)
- {
- if (s == null)
- throw new IllegalArgumentException("StringTokenizer : String cannot be NULL");
-
- return new StringTokenizerEnumeration(s.toCharArray());
- }
-
- /**
- * Binary search.
- * @return boolean
- * @param c char
- */
- private static boolean contain(char c, char[] a)
- {
- if (a == null)
- return false;
-
- int l = 0, r = a.length - 1, center;
- while (l < r)
- {
- center = (l + r) / 2;
- if (c > a[center])
- l = center + 1;
- else
- r = center;
- }
-
- return a[l] == c;
- }
- /**
- * Heap sort
- * @param c char[]
- */
- static private void sort(char[] c)
- {
- if (c != null)
- {
- int j, k;
- char ci;
-
- // push heap
- for (int i = 1; i < c.length; i++)
- {
- j = ((k = i) - 1) / 2;
- ci = c[i];
- while (k > 0 && c[j] < ci)
- {
- c[k] = c[j];
- j = ((k = j) - 1) / 2;
- }
- c[k] = ci;
- }
-
- // pop heap
- for (int i = c.length - 1; i > 0; i--)
- {
- j = 2;
- k = 0;
- ci = c[0];
- while (j <= i)
- {
- c[k] = (c[j - 1] > c[j]) ? c[--j] : c[j];
- j = ((k = j) + 1) * 2;
- }
- c[k] = c[i];
- c[i] = ci;
- }
- }
- }
-}

Back to the top