/*
* Copyright 2007 Yusuke Yamamoto
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package twitter4j.internal.util;
import java.util.ArrayList;
import java.util.List;
/**
* @author Yusuke Yamamoto - yusuke at mac.com
* @since Twitter4J 2.1.4
*/
public class InternalStringUtil {
private InternalStringUtil() {
throw new AssertionError();
}
public static String join(final int[] array) {
final StringBuffer buf = new StringBuffer(11 * array.length);
for (final int follow : array) {
if (0 != buf.length()) {
buf.append(",");
}
buf.append(follow);
}
return buf.toString();
}
// for JDK1.4 compatibility
public static String join(final long[] array) {
final StringBuffer buf = new StringBuffer(11 * array.length);
for (final long follow : array) {
if (0 != buf.length()) {
buf.append(",");
}
buf.append(follow);
}
return buf.toString();
}
public static String join(final String[] array) {
final StringBuffer buf = new StringBuffer(11 * array.length);
for (final String str : array) {
if (0 != buf.length()) {
buf.append(",");
}
buf.append(str);
}
return buf.toString();
}
public static String maskString(final String str) {
final StringBuffer buf = new StringBuffer(str.length());
for (int i = 0; i < str.length(); i++) {
buf.append("*");
}
return buf.toString();
}
public static String replaceLast(final String text, final String regex, final String replacement) {
if (text == null || regex == null || replacement == null) return text;
return text.replaceFirst("(?s)" + regex + "(?!.*?" + regex + ")", replacement);
}
public static String[] split(final String str, final String separator) {
String[] returnValue;
int index = str.indexOf(separator);
if (index == -1) {
returnValue = new String[] { str };
} else {
final List<String> strList = new ArrayList<String>();
int oldIndex = 0;
while (index != -1) {
final String subStr = str.substring(oldIndex, index);
strList.add(subStr);
oldIndex = index + separator.length();
index = str.indexOf(separator, oldIndex);
}
if (oldIndex != str.length()) {
strList.add(str.substring(oldIndex));
}
returnValue = strList.toArray(new String[strList.size()]);
}
return returnValue;
}
}