| A no repetirse con Apache Commons Lang |
|
|
|
| Escrito por Leonardo De Seta |
| Lunes 23 de Febrero de 2009 09:20 |
|
Aquí es donde aparece Apache Commons Lang para ayudarnos con una gran cantidad de clases utilitarias. Introducción a Apache Commons LangApache Commons Lang, un compendio de clases utilitarias con montones de métodos para manipular a las clases estándar de Java. Este componente brinda muchas utilidades para el API de java.lang, especialmente métodos de manipulación para String, números, reflexión de objetos, creación y serialización. También brinda algunas mejoras básicas para java.util.Date y un conjunto de utilidades para construir métodos básicos, como el hashCode, toString y equals. A continuación vamos a ver algunos ejemplos básicos de Apache Commons Lang. StringUtils: manipulando a StringLa clase org.apache.commons.lang.StringUtils tiene operaciones sobre String que son seguros de usar con un null. Entre los métodos más importantes de esta clase se pueden nombrar:
Ejemplos//imprime "Habia una..." System.out.println(StringUtils.abbreviate("Habia una vez", 8)); //imprime "Chau mundo, Chau mundo" System.out.println(StringUtils.replace("Hola mundo, Hola mundo", "Hola", "Chau")); //imprime "- hola -" System.out.println("-" + StringUtils.center("hola", 20) + "-"); Otra clase utilitaria para manipular String pero a nivel de "palabra" es org.apache.commons.lang.WordUtils. ArrayUtils: manipulando a arraysLa clase org.apache.commons.lang.ArrayUtils tiene operaciones sobre arrays, arrays de primitivos (como int[]) y arrays de wrappers de primitivos (como Integer[]). Los métodos de esta clase permiten agregar y quitar elementos de un array, buscar y compararlos. EjemplosString[] nombres = new String[0]; int[] edades = new int[] {29, 28, 20}; //imprime "true" System.out.println(ArrayUtils.isEmpty(nombres)); //agrega elementos a un array nombres = (String[]) ArrayUtils.add(nombres, "Zim"); nombres = (String[]) ArrayUtils.add(nombres, "GIR"); //imprime "2" System.out.println(nombres.length); //convierte un array primitivo en su equivalente en objetos Integer[] edadesInteger = ArrayUtils.toObject(edades); //imprime "3" System.out.println(edadesInteger.length); //clona un array Integer[] otrasEdades = (Integer[]) ArrayUtils.clone(edadesInteger); //agrega los elementos de un array a otro Integer[] todasEdades = (Integer[]) ArrayUtils.addAll(otrasEdades, edadesInteger); //imprime "6" System.out.println(todasEdades.length); //imprime "true" System.out.println(ArrayUtils.contains(nombres, "GIR")); //imprime "1" System.out.println(ArrayUtils.indexOf(nombres, "GIR")); Validate: realizando validacionesLa clase org.apache.commons.lang.Validate asiste la validación de argumentos. En caso de que una validación falle, tira una IllegalArgumentException (con un posible mensaje personalizado). Ejemplo//valida si el primitivo "param" es mayor a cero Validate.isTrue(param > 0, "El parametro tiene que ser menor a cero") //valida si un array o Collection son vacios Validate.notEmpty(parametros); //valida si un array o Collection contiene elementos nulos Validate.noNullElements(parametros, "Todos los parametros son obligatorios") StringEscapeUtils: escapando caracteres especialesLa clase org.apache.commons.lang.StringEscapeUtils se encarga de escapar y des-escapar caracteres especiales de un String para Java, JavaScript, HTML, XML y SQL. Algunos de sus métodos:
Ejemplo//imprime "&lt;planeta&gt;J&#250;piter&lt;/planeta&gt;" String xml = "<planeta>Júpiter</planeta>"; System.out.println(StringEscapeUtils.escapeXml(xml)); ConclusiónLas utilidades de Apache Commons Lang resuelven muchos problemas que se repiten en diversos programas Java, y nos permiten ahorrar tiempo y esfuerzo en crear código que termina siendo repetitivo. En este artículo vimos algunas de todas las utilidades de Apache Commons Lang, en particular las que se incluyen en el paquete org.apache.commons.lang. En próximos artículos vamos a repasar a otras de las utilidades que nos brinda esta librería. |