| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| StringUtils |
|
| 6.0;6 |
| 1 | package net.sf.statsvn.util; | |
| 2 | ||
| 3 | 0 | public class StringUtils { |
| 4 | /** | |
| 5 | * This method is a 1.4 replacement of the String.replace(CharSequence, CharSequence) found in 1.5. | |
| 6 | * @param originalPattern | |
| 7 | * @param newPattern | |
| 8 | * @param originalString | |
| 9 | * @return | |
| 10 | */ | |
| 11 | public static String replace(final String originalPattern, final String newPattern, final String originalString) { | |
| 12 | 11 | if ((originalPattern == null) || (originalPattern.length() == 0) || (originalString == null)) { |
| 13 | 3 | return originalString; |
| 14 | } | |
| 15 | ||
| 16 | 8 | final StringBuffer newString = new StringBuffer(originalString.length()); |
| 17 | 8 | int index = 0; |
| 18 | 8 | final int originalLength = originalPattern.length(); |
| 19 | 8 | int previousIndex = 0; |
| 20 | ||
| 21 | 29 | while ((index = originalString.indexOf(originalPattern, index)) != -1) { |
| 22 | 21 | newString.append(originalString.substring(previousIndex, index)).append(newPattern); |
| 23 | 21 | index += originalLength; |
| 24 | 21 | previousIndex = index; |
| 25 | } | |
| 26 | ||
| 27 | 8 | if (previousIndex == 0) { |
| 28 | 2 | newString.append(originalString); |
| 29 | 6 | } else if (previousIndex != originalString.length()) { |
| 30 | 5 | newString.append(originalString.substring(previousIndex)); |
| 31 | } | |
| 32 | ||
| 33 | 8 | return newString.toString(); |
| 34 | } | |
| 35 | } |