package br.com.centralit.citcorpore.util;
import java.text.ParseException;
import javax.swing.text.MaskFormatter;
public class Telefone {
public static String numeroMascarado(String numero, boolean sql){
StringBuilder resultado = new StringBuilder();
if (numero.length()<8){
resultado.append(numero);
} else {
switch (numero.length()) {
case 8:
resultado.append(format("####-####", numero));
break;
case 9:
resultado.append(format("#####-####", numero));
break;
case 10:
if (!sql){
resultado.append(format("(0##) ####-####", numero));
} else {
resultado.append(format("##) ####-####", numero));
}
break;
case 11:
if (!sql){
resultado.append(format("(###) ####-####", numero));
} else {
resultado.append(format("###) ####-####", numero));
}
break;
case 12:
if (!sql){
resultado.append(format("(###) #####-####", numero));
} else {
resultado.append(format("###) #####-####", numero));
}
break;
case 13:
if (!sql){
resultado.append(format("+0# (###) #####-####", numero));
} else {
resultado.append(format("# (###) #####-####", numero));
}
break;
default:
if (!sql){
resultado.append(format("+## (###) #####-####", numero));
} else {
resultado.append(format("## (###) #####-####", numero));
}
break;
}
}
return resultado.toString();
}
public static String mascaraProcuraSql(String numero){
StringBuilder resultado = new StringBuilder();
if (numero.length()<8){
resultado.append("='"+numero+"'");
} else {
resultado.append("like '%");
resultado.append(numeroMascarado(numero,true));
resultado.append("'");
}
return resultado.toString();
}
private static String format(String pattern, Object value) {
MaskFormatter mask;
try {
mask = new MaskFormatter(pattern);
mask.setValueContainsLiteralCharacters(false);
return mask.valueToString(value);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
}