Data Type Java

/**************************************************************************************
 * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved.                 *
 * http://aspectwerkz.codehaus.org                                                    *
 * ---------------------------------------------------------------------------------- *
 * The software in this package is published under the terms of the LGPL license      *
 * a copy of which has been included with this distribution in the license.txt file.  *
 **************************************************************************************/
import java.util.List;
import java.util.ArrayList;
/**
 * Utility methods for strings.
 *
 * @author Jonas BonŽr 
 */
public class Strings {
  /**
   * Replaces all occurences of a substring inside a string.
   *
   * @param str      the string to search and replace in
   * @param oldToken the string to search for
   * @param newToken the string to replace newToken
   * @return the new string
   */
  public static String replaceSubString(final String str, final String oldToken, final String newToken) {
      return replaceSubString(str, oldToken, newToken, -1);
  }
  /**
   * Replaces all occurences of a substring inside a string.
   *
   * @param str      the string to search and replace in
   * @param oldToken the string to search for
   * @param newToken the string to replace newToken
   * @param max      maximum number of values to replace (-1 => no maximum)
   * @return the new string
   */
  public static String replaceSubString(final String str, final String oldToken, final String newToken, int max) {
      if ((str == null) || (oldToken == null) || (newToken == null) || (oldToken.length() == 0)) {
          return str;
      }
      StringBuffer buf = new StringBuffer(str.length());
      int start = 0;
      int end = 0;
      while ((end = str.indexOf(oldToken, start)) != -1) {
          buf.append(str.substring(start, end)).append(newToken);
          start = end + oldToken.length();
          if (--max == 0) {
              break;
          }
      }
      buf.append(str.substring(start));
      return buf.toString();
  }
   
}