/**
* Copyright (c) 2004-2011 Wang Jinbao(Julian Wong), http://www.ralasafe.com
* Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
*/
package org.ralasafe.util;
import java.util.StringTokenizer;
public class StringUtil {
public static boolean isEmpty(String s) {
if (s == null) {
return true;
}
if (s.length() == 0) {
return true;
}
return false;
}
public static void append(StringBuffer buff, String[] names) {
if (Util.isEmpty(names)) {
return;
}
buff.append(names[0]);
for (int i = 1; i < names.length; i++) {
buff.append(",").append(names[i]);
}
}
public static String toString( String[] names ) {
StringBuffer buff=new StringBuffer();
append( buff, names );
return buff.toString();
}
/**
* Append every elements in names array into buff. Some like:
* names[0]${appendSting}${seperator}names[1]${appendString
* }${seperator}...names[n-1]${appendString}.
*
*
* <p>
* Exapmle:
* INSERT SQL can be appended with: append( buff, names, false, "?", "," );
* UPDATE SQL can be appended with: append( buff, names, true, "=?", "," );
* WHERE SQL can be appended with: append( buff, names, true, "=?", " AND " );
*
* @param buff
* @param names
* @param displayName If true, append every names[i] into buff, else names[i] is not appended
* @param appendString
* @param seperator
*/
public static void append(StringBuffer buff, String[] names,
boolean displayName, String appendString, String seperator) {
if (Util.isEmpty(names))
return;
if (displayName)
buff.append(names[0]);
buff.append(appendString);
for (int i = 1; i < names.length; i++) {
buff.append(seperator);
if (displayName)
buff.append(names[i]);
buff.append(appendString);
}
}
public static String[] split(String s, String token) {
if (s == null) {
return null;
}
StringTokenizer st = new StringTokenizer(s, token);
int size = st.countTokens();
String[] result = new String[size];
for (int i = 0; i < size; i++) {
result[i] = st.nextToken();
}
return result;
}
public static String[] splitAndTrim(String s, String token) {
if (s == null) {
return null;
}
StringTokenizer st = new StringTokenizer(s, token);
int size = st.countTokens();
String[] result = new String[size];
for (int i = 0; i < size; i++) {
result[i] = st.nextToken().trim();
}
return result;
}
/**
* Resever whitespace, breakline into <content>
*/
public static String keepSpaceInContent(String xmlStr, String content) {
StringBuffer xml = new StringBuffer(xmlStr);
int start = xml.indexOf("<content>");
int end = xml.indexOf("</content>");
xml.replace(start, end, "<content xml:space=\"preserve\"><![CDATA[" + content+"]]>");
return xml.toString();
}
public static String getEvalError(String error) {
StringBuffer buff = new StringBuffer(error);
int start = buff.indexOf("Sourced file:");
int end = buff.indexOf(". . . '' : ");
if (start >= 0 && end >= 0 && start < end) {
buff.replace(start, end + 11, "");
}
return buff.toString();
}
public static String toJavascriptValue( String[] s ) {
StringBuffer buff=new StringBuffer();
buff.append( "" );
for( int i=0; i<s.length; i++ ) {
String t=s[i];
if( i>0 ) {
buff.append( "," );
}
buff.append( "'" )
.append( t )
.append( "'" );
}
return buff.toString();
}
}