Utils.java :  » Database-ORM » ProjectJulp » org » julp » util » common » Java Open Source

Java Open Source » Database ORM » ProjectJulp 
ProjectJulp » org » julp » util » common » Utils.java
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;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.