Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Simplifica tu código

Simplifica tu código

Autor jc mouse martes, marzo 5, 2019

Project Lombok es una biblioteca para java que se conecta con su IDE (Integrated Development Environment – Entorno de Desarrollo Integrado) y pone a disposición del programador herramientas para simplificar la escritura de código fuente. Actualmente Lombok soporta los IDEs Eclipse, Netbeans, IntelliJ IDEA, Microsoft Visual Studio Code y JBoss Developer Studio.

Lombok con sus annotation le permite al programador evitar la escritura repetitiva de código a través de la introducción de anotaciones en las clases java las cuales reemplazan métodos como el constructor, get, set, toString, equals, hashcode, etc. ahorrando tiempo y mejorando la legibilidad de nuestro código.

Pero veamos con un pequeño ejemplo de lo que es capaz Lombok, lo primero que necesitas es descargar el JAR de Project Lombok actualmente en la versión Lombok 1.18.6 Si usas Maven puedes visitar esta pagina

A continuación tenemos una clase Persona.java la cual cuenta con sus atributos y métodos GET/SET ademas de dos constructores de clase, una sin argumentos y otra con todos los argumentos.

public class Persona {
    
    private int dni;
    private String nombre;
    private String mail;

    public Persona() {
    }
        
    public Persona(int dni, String nombre, String mail) {
        this.dni = dni;
        this.nombre = nombre;
        this.mail = mail;
    }

    public int getDni() {
        return dni;
    }

    public void setDni(int dni) {
        this.dni = dni;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }
    
}

Ahora usando Lombok la misma clase Persona:

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
@NoArgsConstructor 
@AllArgsConstructor
@Builder
public class Persona {
    
    private @Getter @Setter int dni;
    private @Getter @Setter String nombre;
    private @Getter @Setter String mail;
    
}

El ahorro de código es evidente, pero expliquemos en que consisten la anotaciones:

  • @NoArgsConstructor: Genera un constructor de clase son argumentos.
  • @AllArgsConstructor: Genera un constructor de clase con todos los atributos como argumentos.
  • @Getter @Setter : Genera los métodos GET y SET para todos los atributos que contengan esas anotaciones.

Si implementamos esta clase en nuestro proyecto veremos como los métodos y constructores son reconocidos por nuestro IDE y por lo tanto podemos escribir nuestro código como siempre hacemos:

public class Main {

    public static void main(String[] args) {
        Persona p1 = new Persona();
        p1.setDni(1);
        p1.setNombre("Armando Bronca Segura");
        p1.setMail("armando123@mail.com");
        
        System.out.println(p1.getDni());
        System.out.println(p1.getNombre());
        System.out.println(p1.getMail());
        
        Persona p2 = new Persona(2,"Elsa Capunta","nomaslapuntita@mail.com");
        System.out.println(p2.getDni());
        System.out.println(p2.getNombre());
        System.out.println(p2.getMail());
        
    }    
}

Ejecutando el proyecto:

codigo simplificado

Abra notado el perspicaz lector 🙂 que no usamos la anotación @Builder, no lo olvidamos solo lo dejamos para el final porque esta anotación es bastante interesante. Esta anotación permite implementar la clase utilizando el patrón de diseño Builder y nos ahora bastante código. ¿Como funciona?

public class Main {

    public static void main(String[] args) {

        Persona p3 = new Persona.PersonaBuilder()
                .dni(3)
                .nombre("Maria Fernanda Blazquez")
                .mail("fey@mail.com")
                .build();

        System.out.println(p3.getDni());
        System.out.println(p3.getNombre());
        System.out.println(p3.getMail());
    }
}

Puede ver el resto de las anotaciones en la pagina web del proyecto Lombok features

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Crea música y compártela con Song Maker de Google

Crea música y compártela con Song Maker de Google

Song Maker es el nuevo experimento de Google Chrome Music Lab que permite al usuario crear música desde el navegador a t...

Duplicando objetos con la Interface Cloneable

Duplicando objetos con la Interface Cloneable

En este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia...

Animación de bicho feo en java2D

Animación de bicho feo en java2D

Java2d nos permite manipular imagenes y asi poder crear animaciones sencillas como muestra el siguiente video. Puedes de...

Crea tu personaje de Snoopy & Charlie Brown

Crea tu personaje de Snoopy & Charlie Brown

The Peanuts Movie fue la película animada de  Snoopy & Charlie Brown personajes principales de la serie de tiras cóm...

Recolección, extracción y análisis de Metadatos

Recolección, extracción y análisis de Metadatos

La recolección de información (Information Gathering) es una de las partes más importantes en la planificación y ataques...

Tutoriales para creación de videojuegos gratis en descarga directa

Tutoriales para creación de videojuegos gratis en descarga directa

La comunidad 3D Buzz  era una de los lugares donde la gente curiosa de aprender a realizar videojuegos buscaba recursos...

1 comentario en “Simplifica tu código”

  1. Ing Domenico Ferraguto dice:

    Esta espectacular, excelente aporte???¡¡¡¡¡¡

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Existe una gran cantidad de contenido sobre productividad, trucos, consejos y trabajo y más. Pero, ¿Qué pasa con esos mo...

En este post te enseño a usar una herramienta de Inteligencia Artificial para animar tus fotografias y esto completament...

Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

Herramientas

Generador de Enlaces a Whatsapp