package clubedoestudo;

/**
 * @author Bruno
 *
 * Classe composta por ferramentas para tratamento de mensagens
 */
public class MsgUtils
{
	
	static char [] especiais = 
	{ 
		'"', '¨', '&', '´', 'º', 'ª', 
		'°', '>', '<' ,'ç', 'Ç', '\'', '\r', '\n',
		'á', 'é', 'í', 'ó', 'ú',
		'Á', 'É', 'Í', 'Ó', 'Ú',
		'ã', 'õ', 'Ã', 'Õ',
		'â', 'ê', 'î', 'ô', 'û',
		'Â', 'Ê', 'Î', 'Ô', 'Û',
		'à', 'è', 'ì', 'ò', 'ù',
		'À', 'È', 'Ì', 'Ò', 'Ù',
		'ä', 'ë', 'ï', 'ö', 'ü',
		'Ä', 'Ë', 'Ï', 'Ö', 'Ü',
		
	};
	static String [] substitutos = 
	{ 
		"&quot;", "&uml;", "&amp;", "&acute;", "&ordm;", "&ordf;", 
		"&deg;", "&gt;", "&lt;", "&ccedil;", "&Ccedil;", "&quot;", "<br>", "<br>",
		"&aacute;", "&eacute;", "&iacute;", "&oacute;", "&uacute;",
		"&Aacute;", "&Eacute;", "&Iacute;", "&Oacute;", "&Uacute;",
		"&atilde;", "&otilde;", "&Atilde;", "&Otilde;",
		"&acirc;", "&ecirc;", "&icirc;", "&ocirc;", "&ucirc;",
		"&Acirc;", "&Ecirc;", "&Icirc;", "&Ocirc;", "&Ucirc;",
		"&agrave;", "&egrave;", "&igrave;", "&ograve;", "&ugrave;",
		"&Agrave;", "&Egrave;", "&Igrave;", "&Ograve;", "&Ugrave;",
		"&auml;", "&euml;", "&uml;", "&ouml;", "&uuml;",
		"&Auml;", "&Euml;", "&Iuml;", "&Ouml;", "&Uuml;",
		
	};
		
	/**
	 * Identifica os caracteres especiais em uma mensagem e os substitui por seus equivalentes em HTML
	 */
	public static String filtrar (String texto)
	{
		StringBuffer filtrado = new StringBuffer(texto.length());
		char c;
		String trocado;
		
		for (int i = 0; i < texto.length(); i++)
		{
			c = texto.charAt(i);
			trocado = "" + c;
			
			for (int j = 0; j < especiais.length; j++)
			{
				if (c == especiais[j])
				{
					trocado = substitutos[j];
				}
			}
			
			filtrado.append(trocado);
		}
		
		return (filtrado.toString());
	}
}

