Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.utils;

import jomm.utils.DiacriticFilter;

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

/**
 * @author Jorge
 * @date 16/Jan/2009
 * @time 15:40:42
 */

public class StringsUtils
{
    public static 1.5.0/docs/api/java/lang/String.html">String getSerialStrings(List<String> strings, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if (strings == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String roles = null;
        for (1.5.0/docs/api/java/lang/String.html">String role : strings)
        {
            if (roles == null)
                roles = role;
            else
                roles += separator + role;
        }
        return roles;
    }

    public static 1.5.0/docs/api/java/lang/String.html">String getSerialLongs(List<Long> longs, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if (longs == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String roles = null;
        for (1.5.0/docs/api/java/lang/Long.html">Long role : longs)
        {
            if (roles == null)
                roles = "" + role;
            else
                roles += separator + role;
        }
        return roles;
    }

    public static List<String> getStringsFromSerial(1.5.0/docs/api/java/lang/String.html">String stringsSerial, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if (stringsSerial == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String[] roles = stringsSerial.split(separator);
        List<String> l = new ArrayList<String>();
        for (1.5.0/docs/api/java/lang/String.html">String role : roles)
        {
            if(role != null && role.trim().length() > 0)
                l.add(role);
        }
        return l;
    }

    public static List<Long> getLongsFromSerial(1.5.0/docs/api/java/lang/String.html">String stringsSerial, 1.5.0/docs/api/java/lang/String.html">String separator)
    {
        if (stringsSerial == null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String[] roles = stringsSerial.split(separator);
        List<Long> l = new ArrayList<Long>();
        for (1.5.0/docs/api/java/lang/String.html">String role : roles)
        {
            l.add(1.5.0/docs/api/java/lang/Long.html">Long.parseLong(role));
        }
        return l;
    }

    //TODO ARRANJAR ISTO
    public static 1.5.0/docs/api/java/lang/String.html">String getNormalizedName(1.5.0/docs/api/java/lang/String.html">String nome)
    {
        try{
            if(nome != null)
            {
                nome = nome.replace("/","_");
                1.5.0/docs/api/java/lang/String.html">String[] partes = nome.split(" ");
                1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder sb = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
                for(1.5.0/docs/api/java/lang/String.html">String n : partes)
                {
                    n = n.toLowerCase();
                    n = (""+n.charAt(0)).toUpperCase() + n.substring(1);
                    sb.append(n).append(" ");
                }
                return sb.toString().trim();
            }
            return nome;
        }catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
        {
            return nome;
        }
    }

    public static 1.5.0/docs/api/java/lang/String.html">String getInitials(1.5.0/docs/api/java/lang/String.html">String nome)
    {
        try{
            if(nome != null)
            {
                nome = nome.replace("/"," ");
                nome = nome.replaceAll("-", " ");
                nome = nome.replaceAll("\\(", " ");
                nome = nome.replaceAll("\\)", " ");
                nome = nome.toUpperCase();

                1.5.0/docs/api/java/lang/String.html">String[] partes = nome.split(" ");
                1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder sb = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
                for(1.5.0/docs/api/java/lang/String.html">String n : partes)
                {
                    if(n.length() > 0)
                    {
                        char initial = n.charAt(0);
                        if(initial >= 'A' && initial <='Z')
                        {
                            sb.append(initial);
                        }
                    }
                }
                return sb.toString().trim();
            }
            return null;
        }catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
        {
            return nome;
        }
    }

    public static 1.5.0/docs/api/java/lang/String.html">String getNormalizedNameSafeforCode(1.5.0/docs/api/java/lang/String.html">String nome)
    {
        try{
            if(nome != null && nome.trim().length() > 0)
            {
                nome = DiacriticFilter.clean(nome);
                nome = nome.replaceAll("/", "_");
                nome = nome.replaceAll("-", "_");
                1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder sb = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
                for(char c: nome.toCharArray())
                {
                    boolean alpha = (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
                    if(!alpha)
                    {
                        sb.append(" ");
                    }
                    else
                    {
                        sb.append(c);
                    }
                }
                nome = sb.toString();
                1.5.0/docs/api/java/lang/String.html">String[] partes = nome.split(" ");
                sb = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
                for(1.5.0/docs/api/java/lang/String.html">String n : partes)
                {
                    if(n.trim().length() == 1)
                    {
                        if(n.charAt(0) >= '0' && n.charAt(0) <= '9')
                        {
                            sb.append(n);
                        }
                        else
                        {
                            sb.append(n.toUpperCase());
                        }
                    }
                    else if(n.trim().length() > 1)
                    {
                        n = n.toLowerCase();
                        if(n.charAt(0) >= '0' && n.charAt(0) <= '9')
                        {
                            sb.append(n);
                        }
                        else
                        {
                            n = (""+n.charAt(0)).toUpperCase() + n.substring(1);
                        }
                        sb.append(n);
                    }
                    else
                    {
                        //do not use
                    }
                }
                return sb.toString().trim();
            }
            else if(nome == null || nome.trim().length() == 0)
            {
                return null;
            }
        }
        catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
        {
            return null;
        }
        return null;
    }

    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(getNormalizedNameSafeforCode("CTeSP - Desenvolvimento de Produtos Multimédia"));
        1.5.0/docs/api/java/lang/System.html">System.out.println(getNormalizedNameSafeforCode("CTeSP/- (123) Desenvolvimento de Produtos    multimédia    "));

    }
}