RSS
people

Lombok – Generación de métodos set y get de forma automática en java

El código de Boilerplate, tal como lo definen en wikipedia, es aquel código de por razones del lenguaje siempre terminamos agregando en nuestros programas pero que no nos brindan una funcionalidad muy evidente, un claro ejemplo de esto es la línea que escribimos siempre al inicio de nuestros scrips de shell, que luce así:

#!/bin/sh

Esto lo único que hace es indicarle al sistema que tipo de interprete deberá procesar nuestro script.

En java, el código Boilerplate es un poco más evidente, muchas veces siempre, cuando creamos propiedades en nuestras clases, terminamos haciendo métodos set y get para cada una de ellas, si bien esto representa un poco del llamado encapsulamiento, es un código que no aporta una funcionalidad definida a nuestros programas.

Pensando en esto, fue que se creo el proyecto Lombok, el cual lo que pretende es hacer nuestras clases más simples, al no tener que escribir las líneas para los métodos:

  • toString();
  • hashCode();
  • setter.
  • y getter.

Y no es que los agregue en nuestro archivo fuente, sino que al momento de compilar nuestras clases, generara los correspondientes métodos para nuestras clases, en el sitio del proyecto se puede observar un video (si lo prefiers también hay algunas capturas aquí), el cual es bastante explicativo a pesar de no estar en español, te garantizo que lo entenderás a la perfección.

Personalmente, confieso que hace algún tiempo estuve revisando la forma de generar código en tiempo de compilación creando una anotación y, el primer ejemplo que se me vino a la cabeza fue esta utilidad, ya que es algo que siempre necesitaremos, así que si te interesa hacer más cortas y mantenibles tus clases este proyecto te interesa.

Lombok>>

Descargar>>

No Comments |

Reemplazando animaciones flash con Javascript

De antemano sé que surgiran muchas ideas contradictorias a este post, sin embargo quiero exponerles a todos estos 16 ejemplos de cuando javascript hace una arremetida contra flash para tratar de quitarle dominio en el campo de las animaciones en la web.

Gracias aNieto2k>>

1 Comment | Tags: , , , , , ,

JSP Documents – JSP en formato XML

JSP Documents o documentos JSP, son páginas JSP escritas con sintaxis XML, esto nos brinda algunas ventajas sobre la forma estándar de escribir estos archivos:

  • Las páginas JSP pueden ser creadas usando cualquiera de las muchas herramientas de generación de XML, lo que además le garantizará que su documento estará bien formado.
  • Las páginas JSP pueden ser creadas usando cualquiera de las muchas herramientas de generación de XML, lo que además le garantizará que su documento estará bien formado.
  • Podría validar el contenido de la página JSP contra un descriptor DTD (definición de tipo de documento), obteniendo así los beneficios que esto nos puede traer.
  • Podría anidar y extender namespaces dentro de las páginas JSP.
    Las páginas JSP pueden ser usadas para intercambiar datos entre aplicaciones web.

Además de estos beneficios, el escribir documentos JSP reduce la complejidad mientras aumenta la flexibilidad, ya que podemos tener tanto páginas JSP como documentos JSP en nuestras aplicaciones, y por otra parte, los elementos en sintaxis XML puede ir sin ningún problema dentro de una página JSP con sintaxis estándar, lo que nos permite ir haciendo una migración gradual hacía documentos JSP.

Cómo crear un documento JSP?

Como ya dije anteriormente un documento JSP tiene que ceñirse a la sintaxis XML, y esto tiene sus restricciones, lo más básico es que cada elemento debe tener su elemento de cierre correspondiente y que sólo debemos tener un elemento raíz.  Pero esto no es algo que sea tan difícil como cualquiera pensaría, si nos ponemos a pensar, la gran mayoría de los elementos de una página JSP convencional ya cumplen con la sintaxis XML, aquellos que no cumplen, los he clasificado en la siguiente tabla, junto con su equivalencia:

Elemento

Sintaxis estándar

Sintaxis XML

Comentarios

<%– … –%>

<!– … –>

Declaraciones

<%! … %>

<jsp:declaration> … </jsp:declaratio>

Directivas

<%@ include … %>

<jsp:directive.include … />

<%@ page … %>

<jsp:directive.page … />

<%@ taglib … %>

xmlns:prefijo=”tag library URL”

Expresiones

<%= … %>

<jsp:expression> … </jsp:expression>

Scriptlets

<% … %>

<jsp:scriptlet> … </jsp:scriptlet>

Página JSP en format estándar

<%@ taglib uri=http://java.sun.com/jsp/jstl/core prefix="c" %>
<%@ taglib uri=http://java.sun.com/jsp/jstl/functions prefix="fn" %>
  <html>
    <head><title>Hola</title></head>
    <body bgcolor="white">
      <img src="image.gif">
      <h2>Hola Documentos JSP</h2>
      <form method="get">
        <input type="text" name="username" size="25">
        <p></p>
        <input type="submit" value="Submit">
        <input type="reset" value="Reset">
      </form>
      <jsp:useBean id="userNameBean" class="hello.UserNameBean" scope="request"/>
      <jsp:setProperty name="userNameBean" property="name" value="${param.username}" />
      <c:if test="${fn:length(userNameBean.name) > 0}" >
        <%@include file="response.jsp" %>
      </c:if>
    </body>
  </html>

Documento JSP en formato XML

<html
  xmlns:c="http://java.sun.com/jsp/jstl/core"
  xmlns:fn="http://java.sun.com/jsp/jstl/functions" >
  <head><title>Hello</title></head>
  <body bgcolor="white" />
    <img src="duke.waving.gif" />
    <h2>My name is Duke. What is yours?</h2>
    <form method="get">
      <input type="text" name="username" size="25" />
      <p></p>
      <input type="submit" value="Submit" />
      <input type="reset" value="Reset" />
    </form>
    <jsp:useBean id="userNameBean" class="hello.UserNameBean" scope="request"/>
    <jsp:setProperty name="userNameBean" property="name" value="${param.username}" />
    <c:if test="${fn:length(userNameBean.name) gt 0}" >
      <jsp:directive.include="response.jsp" />
    </c:if>
  </body>
</html>
No Comments | Tags: , , ,