Subversion Repositories bacoAlunos

Rev

Rev 223 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package jomm.utils;

import java.util.StringTokenizer;
import java.util.List;
import java.util.ArrayList;

/**
 * @author Jorge Machado
 * @date 21/Mai/2008
 * @see jomm.utils
 */

public class StringsUtils
{

    public static 1.5.0/docs/api/java/lang/String.html">String getFragment(1.5.0/docs/api/java/lang/String.html">String textOriginal, int size)
    {
        if (textOriginal == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String text = textOriginal.trim();
        if (text.length() == 0)
            return text;
        if (text.length() > size)
            if (text.substring(0, size).lastIndexOf(' ') >= 0)
                return text.substring(0, text.substring(0, size).lastIndexOf(' ')) + "...";
            else
                return
                        text.substring(0, size) + "...";
        return text;
    }

    public static 1.5.0/docs/api/java/lang/String.html">String getFormatedText(1.5.0/docs/api/java/lang/String.html">String text)
    {
        if (text == null || text.trim().length() == 0)
            return "";

        1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder finalFormatedText = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
        boolean newLine = true;
        for (int i = 0; i < text.length(); i++)
        {
            if (newLine && text.charAt(i) == ' ')
            {
                finalFormatedText.append("&nbsp;");
            }
            else if (text.charAt(i) == '\n')
            {
                finalFormatedText.append("<br>");
                newLine = true;
            }
            else if (text.charAt(i) == '\t')
            {
                finalFormatedText.append("&nbsp;&nbsp;&nbsp;&nbsp;");
            }
            else
            {
                finalFormatedText.append(text.charAt(i));
                newLine = false;
            }
        }
        return finalFormatedText.toString();
    }

    public static boolean checkLetters09AZazHiffenUnderScore(1.5.0/docs/api/java/lang/String.html">String candidate)
    {
        if (candidate == null)
            return false;
        candidate = candidate.trim();
        for (int i = 0; i < candidate.length(); i++)
        {
            char c = candidate.charAt(i);
            if (
                    (c >= '0' && c <= '9') ||
                            (c >= 'a' && c <= 'z') ||
                            (c >= 'A' && c <= 'Z') ||
                            (c == '-') ||
                            (c == '_'))
            {

            }
            else
                return false;
        }
        return true;
    }

    public static 1.5.0/docs/api/java/lang/String.html">String normalizeResourceName(1.5.0/docs/api/java/lang/String.html">String name)
    {
        if(name == null || name.trim().length() == 0)
            return "";
        1.5.0/docs/api/java/util/StringTokenizer.html">StringTokenizer tokenizer = new 1.5.0/docs/api/java/util/StringTokenizer.html">StringTokenizer(name);
        1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder finalName = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
        while(tokenizer.hasMoreTokens())
        {
            1.5.0/docs/api/java/lang/String.html">String token = tokenizer.nextToken();
            if(!token.equals("-"))
            {
                1.5.0/docs/api/java/lang/String.html">String lowerToken = token.toLowerCase();
                1.5.0/docs/api/java/lang/String.html">String cleanToken = clearDiacritics(lowerToken);
                cleanToken = clearNonAlfaNumericChars(cleanToken);
                1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder finalToken = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
                for(int i = 0; i< cleanToken.length();i++)
                {
                    if(i == 0)
                    {
                        finalToken.append(("" + cleanToken.charAt(0)).toUpperCase());
                    }
                    else
                        finalToken.append(cleanToken.charAt(i));
                }
                finalName.append(finalToken);
                if(tokenizer.hasMoreTokens())
                    finalName.append('.');
            }
        }
        return finalName.toString();
    }

    public static 1.5.0/docs/api/java/lang/String.html">String clearDiacritics(1.5.0/docs/api/java/lang/String.html">String lowerToken)
    {
        return DiacriticFilter.clean(lowerToken);
    }

    public static 1.5.0/docs/api/java/lang/String.html">String clearNonAlfaNumericChars(1.5.0/docs/api/java/lang/String.html">String lowerToken)
    {
        1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder builder = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
        for(int i = 0; i < lowerToken.length();i++)
        {
            char c = lowerToken.charAt(i);
            if( (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
                builder.append(c);
        }
        return builder.toString();
    }

    public static 1.5.0/docs/api/java/lang/String.html">String cleanKeepNumbers(1.5.0/docs/api/java/lang/String.html">String telemovel)
    {
        1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder result = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
        if(telemovel != null)
        {
            for(int i = 0; i < telemovel.length(); i++)
            {
                char c = telemovel.charAt(i);

                if(c >= '0' && c <= '9')
                {
                    result.append(c);
                }
            }
        }
        return result.toString();
    }

    public static void main(1.5.0/docs/api/java/lang/String.html">String [] args)
    {
        1.5.0/docs/api/java/lang/System.html">System.out.println(cleanKeepNumbers("90.0123-212"));

    }

    public static List<String> getElementsFromSerial(1.5.0/docs/api/java/lang/String.html">String elementsStr, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if(elementsStr == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String[] elements = elementsStr.split(separator);
        List<String> l = new ArrayList<String>();
        for(1.5.0/docs/api/java/lang/String.html">String element: elements)
        {
            l.add(element);
        }
        return l;
    }

    public static 1.5.0/docs/api/java/lang/String.html">String getSerialElements(List<String> elements, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if(elements == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String elementsStr = null;
        for(1.5.0/docs/api/java/lang/String.html">String element: elements)
        {
            if(elementsStr == null)
                elementsStr = element;
            else
                elementsStr += separator + element;
        }
        return elementsStr;
    }

    public static 1.5.0/docs/api/java/lang/String.html">String addElement(1.5.0/docs/api/java/lang/String.html">String old, 1.5.0/docs/api/java/lang/String.html">String  newElement, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if(old == null || old.length() == 0)
            return newElement;
        else
        {
            List<String> oldElements = getElementsFromSerial(old,separator);
            if(!oldElements.contains(newElement))
                oldElements.add(newElement);
            else
                return old;
            return getSerialElements(oldElements,separator);
        }
    }

    public static 1.5.0/docs/api/java/lang/String.html">String removeElement(1.5.0/docs/api/java/lang/String.html">String old, 1.5.0/docs/api/java/lang/String.html">String  toRemoveElement, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if(old == null || old.length() == 0)
            return "";
        else
        {
            List<String> oldElements = getElementsFromSerial(old,separator);
            while(oldElements.contains(toRemoveElement))
                oldElements.remove(toRemoveElement);
            return getSerialElements(oldElements,separator);
        }
    }

    public static boolean hasElement(1.5.0/docs/api/java/lang/String.html">String elementsStr, 1.5.0/docs/api/java/lang/String.html">String searchElement,1.5.0/docs/api/java/lang/String.html">String separator)
    {
        List<String> elements = getElementsFromSerial(elementsStr,separator);
        return hasElement(elements,searchElement);
    }

    public static boolean hasElement(List<String> elements, 1.5.0/docs/api/java/lang/String.html">String searchElement)
    {
        if(elements == null || elements.size() == 0)
            return false;

        for(1.5.0/docs/api/java/lang/String.html">String element: elements)
        {
            if(element.equals(searchElement))
                return true;
        }
        return false;
    }


}