package org.julp.util.common;
public class Utils {
public final static char UPPER = 'U';
public final static char LOWER = 'L';
public final static char NO_SPACE = 'N';
public final static char ONE_SPACE = 'S';
private Utils() {}
/**
* Breaking long String to lines.
* Line does not break words, only white space
* Lines could be separated with System.getProperty(\"line.separator\") - default
* or \"<br>\" or any given String.
*
*/
public static String breakString(String source, String separator, int offset, boolean preserveWhiteSpace){
StringBuffer sb = new StringBuffer();
String[] z = source.split(" ");
String line = "";
for (int i = 0; i < z.length;i++){
if (preserveWhiteSpace){
line = line + z[i] + " ";
}else{
line = line + z[i].trim();
if (!z[i].equals("")){
line = line + " ";
}
}
if (line.length() >= offset){
sb.append(line).append(separator);
line = "";
}
if (i == z.length - 1){ // last line
if (line.length() < offset){
sb.append(line);
}
}
}
return sb.toString();
}
public static String breakString(String source, String separator, int offset){
return breakString(source, separator, offset, false);
}
public static String breakString(String source, int offset){
String lineSeparator;
try{
lineSeparator = System.getProperty("line.separator");
}catch (SecurityException se){
lineSeparator = "\n"; //??
}
return breakString(source, lineSeparator, offset, false);
}
public static String normalizeString(String source, char caseType,
char spaceType, char replaceWith){
if (source == null || source.trim().length() == 0){
return "";
}
source = source.trim();
StringBuffer sb = new StringBuffer();
for (int i = 0;i < source.length();i++){
char c = source.charAt(i);
if (Character.isWhitespace(c)){
if (spaceType == NO_SPACE){
if (!Character.isWhitespace(replaceWith)){
sb.append(replaceWith);
}
}else if (spaceType == ONE_SPACE){
if (i > 0 && !Character.isWhitespace(source.charAt(i - 1))){
if (!Character.isWhitespace(replaceWith)){
sb.append(replaceWith);
}else{
sb.append(c);
}
}
}
}else{
sb.append(c);
}
}
String result = null;
if (caseType == UPPER){
result = sb.toString().toUpperCase();
}if (caseType == LOWER){
result = sb.toString().toLowerCase();
}
return result;
}
}
|