Cómo usar la biblioteca StringTemplate en Java

247

En este artículo revisaremos cómo usar la biblioteca Java de código abierto bibliotecas Java de código abierto, provee de un motor para generar plantillas de cadenas de caracteres, dinámicamente.

Se usa particularmente en sitios web, en la parte de internacionalización en proyectos Web pero es particularmente útil y recomendable usar en cualquier tipo de proyectos Java. En este pequeño tutorial revisaremos cómo implementar esta librería en un proyecto Java de forma general:

Maven

Como primer paso, agregaremos la dependencia a nuestro proyecto mediante Maven o Gradle, actualmente en su versión 4.0.2:

Una vez agregada la dependencia en nuestro proyecto, podremos importar las clases requeridas.

Crear una plantilla de cadena de caracteres

Como primer paso en cuanto a código, crearemos una plantilla de cadena de caracteres. Crearemos una instancia de la clase ST y como argumentos al constructor, pasaremos la cadena de caracteres de la plantilla.

Los valores dinámicos los pasaremos entre paréntesis angulares. Una vez instanciado nuestro objeto ST con la plantilla definida, agregaremos dinámicamente los valores entre paréntesis angulares mediante la función add.

Compila e imprime

Finalmente, haremos uso de la función render para sustituir los valores agregados y después de la función toString para convertir la salida de nuestra instancia en una cadena de caracteres. Esta cadena podremos obtenerla en una objeto String o bien imprimirla/regresarla directamente.

A continuación se muestra la impresión de consola de los pasos anteriores:

Ejemplo del uso de StringTemplate

Optimización

  1. Para mejorar el rendimiento y contar con la implementación de mejores prácticas en tu código, puedes agregar tu plantilla de StringTemplate a un archivo properties de Java, en orden de no tener código duro en tus clases y poder llamar dicha plantilla desde un objeto singleton.
  2. Es recomendable que si existen diferentes clases de tu aplicación que llaman la misma plantilla de StringTemplate y solo cambia la sustitución de valores, crear una clase Util que reciba los valores a sustituir en orden de no repetir código.

Consideraciones

En este pequeño tutorial se muestra una introducción básica al uso de la biblioteca de StringTemplate. La implementación avanzada de la misma, como por ejemplo, la impresión de colecciones de forma iterativa o la impresión de valores mediante expresiones regulares, puedes consultar la documentación oficial en Github: https://github.com/antlr/stringtemplate4/blob/master/doc/cheatsheet.md


Recuerda que también puedes ver la implementación de StringTemplate en nuestro vídeo tutorial en YouTube:

Para ver el uso de StringTemplate en un proyecto completo, puedes consultar mi proyecto, de código abierto, de la implementación de un CRUD en Spring4 en Github: https://github.com/chuucks/SPRING-REST-API

Comments

comments