Creación de una Interfaz de Línea de Comandos con JCommander
Clase 35 de 39 • Curso de Programación Funcional con Java SE
Contenido del curso
- 2

Funciones en Programación Funcional: Conceptos Básicos
03:15 - 3

Funciones como Ciudadanos de Primera Clase en Programación
02:39 - 4

Funciones Puras: Concepto y Ejemplos Prácticos
04:05 - 5

Efectos Secundarios en Programación y su Impacto en el Código
03:12 - 6

Funciones de Orden Superior en Programación
02:28 - 7

Funciones Lambda en Programación Funcional Java
03:30 - 8

Inmutabilidad de Datos en Programación Funcional con Java
11:16
- 9
Programación Funcional en Java SE: Conceptos y Prácticas
00:06 - 10

Programación Funcional en Java: Práctica y Ejemplos en IntelliJ
02:48 - 11

Programación Funcional en Java: Creación y Uso de Funciones
04:03 - 12

Programación Funcional con Predicados en Java
04:57 - 13

Interfaz Consumer y Supplier en Java: Uso y Ejemplos Prácticos
03:54 - 14

Funciones Java para Transformación de Datos y Operaciones Binarias
07:10 - 15

Creación y Uso de Interfaces Funcionales Personalizadas en Java
08:51 - 16

Métodos de Referencia en Programación Funcional Java
04:46 - 17

Inferencia de tipos en Java: funciones y métodos
03:53 - 18

Uso de Expresiones Lambda en Java: Sintaxis y Aplicaciones
12:47 - 19

Interfaz Funcional en Java: Creación y Uso de Métodos Default
04:59 - 20

Encadenamiento de Llamadas en Programación Orientada a Objetos
03:52 - 21

Composición de Funciones en Programación Funcional
06:06
- 22

Uso de la Clase Optional en Java para Manejo de Valores Nulos
12:59 - 23

Manipulación de Streams en Java: Operaciones y Limitaciones
10:18 - 24

Programación Funcional en Java: Uso de Streams y Operaciones Terminales
07:21 - 25
Operaciones de Stream en Java: Intermedias y Finales
05:05 - 26

Operaciones y Concurrente con Stream en Java
05:51 - 27
Operaciones Terminales en Java Streams
06:18 - 28
Operaciones Intermedias en Streams de Java
09:21 - 29

Conversión de Strings a Listas de Enteros en Java
06:14
- 30

Construcción de Proyecto para Buscar Empleo Usando APIs
01:17 - 31

Configuración y Uso de Gradle en Proyectos Java con IntelliJ
03:23 - 32

Creación de una Herramienta de Búsqueda de Trabajo en Terminal
01:51 - 33

Creación de Puntos de Entrada y Dependencias en Proyectos Java
05:54 - 34

Creación de APIs RESTful con Feign y Spring Boot
09:31 - 35

Creación de una Interfaz de Línea de Comandos con JCommander
13:05 - 36

Validación de Argumentos en Terminal con Clases en Ciel
04:32 - 37

Procesamiento de Argumentos y Solicitudes API en Java
11:38 - 38

Creación de API para búsqueda de empleos con Java y CLI
08:31
¿Cómo estructurar la clase y manejar los objetos?
Para comenzar a integrar correctamente nuestra librería y manejar las peticiones de manera eficiente, es crucial estructurar nuestras clases correctamente. Antes de seguir adelante con la implementación de otras funcionalidades, es necesario asegurarse de que la clase de oposición esté bien estructurada. Esta clase se encargará de generar métodos adecuados para diferenciar y manejar objetos, introduciendo métodos como equals y hashCode.
Paso a paso para modificar la clase de oposición
- Generación de métodos: Usa IntelliJ para generar automáticamente los métodos necesarios como
equalsyhashCode. Esto te ayudará a diferenciar un objeto de otro. - Inclusión de propiedades: Asegúrate de incluir todas las propiedades necesarias para compara los objetos.
- Manejo de datos nulos: Evita problemas relacionados con datos nulos configurando correctamente los valores por defecto.
- Método
toString: Añade también este método para poder mostrar fácilmente las propiedades de los objetos en la consola.
¿Cómo crear una clase CLI para argumentos de línea de comandos?
Pasemos a crear una estructura para manejar los argumentos que nuestra herramienta de terminal necesitará. Para ello, crearemos un paquete llamado CLI y dentro una clase que alojará dichos argumentos. Este es un paso esencial para gestionar de forma eficiente las opciones y las peticiones.
Detallando la estructura de la clase CLI
- Creación de la clase
CLIArguments: Esta clase incluirá varios atributos que representarán las opciones comojobQuery,location,page, entre otros. - Constructor por defecto: Crea un constructor básico que no acepte parámetros para prevenir instanciación externa de la clase, manteniendo la encapsulación adecuada.
- Propiedades predeterminadas: Establece valores por defecto para algunos atributos, como
page=0y valores booleanos enfalse. - Método de creación de instancia: Implementa un método
newInstancepara manejar la instanciación de forma controlada. Esto ayuda a gestionar cómo se crean los objetos, incluso si el constructor necesita cambiar en el futuro.
¿Cómo implementar un sistema de parámetros con JCommander?
JCommander es una biblioteca que facilita el manejo de argumentos de línea de comandos. Vamos a integrarlo para definir y manejar nuestras opciones de manera más estructurada y amigable para el usuario.
Integrar y usar JCommander
- Definición de parámetros: Define cada argumento que
CLIArgumentsutilizará, usando anotaciones específicas deJCommander. - Configuración de la ayuda: Añade opciones de ayuda, usando anotaciones para permitir que
JCommandergestione y muestre mensajes de ayuda para los usuarios. - Manejo de validaciones: Aunque inicialmente pueden dejarse sin configurar, es importante saber que
JCommanderpermite configurar validaciones para asegurar que los usuarios ingresen datos correctos.
Con estos pasos bien estructurados, tendrás una herramienta de línea de comandos robusta y bien gestionada. A medida que continues desarrollando, mantén en mente los principios de buenas prácticas en la programación orientada a objetos y el uso eficiente de bibliotecas existentes como JCommander. ¡Adelante, sigue explorando y mejorando tus habilidades en programación!