Me continuamos, vamos a implementar la clase Cérvix Extreme Service, una clase concreta.
Entonces nos vamos.
Pack explores por acá y en servis creamos la clase al inser yeva class y vamos a llamar examen servis
hoy am piel implementas.
Hay Amplíelo de implementar perfecto lo siguiente implemente
examen vencerles al enter.
Implementar metodos o si no sobre el error sobre aca porque parte lo mismo implementa el metodo aca
el listo se implementa el metodo.
La interfaz acá la tenemos.
Entonces la idea es interactuar con el repositorio.
Se guardan los 7.
Pasó a crear un atributo con esta dependencia private y la interfaz repositorio eczemas repositorio.
Perfecto, también podríamos crear un constructor para poder pasar esta dependencia cuando creamos el
objeto, servis la instancia al insert constructor y pasamos el repositorio.
Listo.
Ahí tenemos la dependencia.
Lo siguiente es utilizar el método Find All para obtener todos los exámenes.
Y dentro este método obtenemos el nombre del examen que queremos buscar, por ejemplo, usando un for,
un foreach o el API stream.
Recorremos esta lista de exámenes preguntando por el nombre.
Cuando lo encontremos lo devolvemos.
Entonces en realidad sería simple.
Bajamos por acá para el ejemplo vamos a utilizar el API Stream de Java Find Holl devuelve un listo que
contiene métodos stream stream.
Por acá lo tenemos.
Convertimos esto a un flujo, a una corriente y la idea.
La ventaja de utilizar stream es que mucho más fácil buscar por qué podemos utilizar el método o el
operador filter para filtrar, entonces filter.
Acá se emite cada elemento de este flujo, es decir, cada examen.
Una persona landa una función de flecha llegar una expresión booleana, una condición que se le conoce
como predicativo.
Lo que preguntamos entonces si el nombre del examen contiene esta palabra que estamos pasando, este
nombre o si es igual a este nombre, entonces lo filtra y lo encontramos y lo que hace es devolver este
examen a esta corriente.
Es decir, convierte esta corriente con un elemento con el examen encontrado.
Preguntamos e quet nombre?
Punto.
Bueno, puede ser igual o contains y pasamos nombre.
Vamos a bajar.
Punto.
El resultado es un stream, pero en realidad quiero uno solo, un suplemento, el encontrado.
Entonces colocamos Find First, el método Find First que devuelve sin techo.
Si vemos el API, devuelve un optional acá, un opcional del objeto.
Entonces acá sería un optional.
De examen.
Examen optional obtenÃa igual.
Esto.
Perfecto.
Vamos a importar acá importamos clase.
Y listo.
Vamos a bajar stream.
Bajamos en Filter por acá.
Fan enfermo listo utilizando lápiz trim 2.
Obtenemos el objeto como opcional, pero no quiero entrar mucho en detalle.
La idea de que traten de manejar esto concepto que son propios de Java.
Pero básicamente el optional contiene una representación del objeto para evitar el nulo intercepción.
Entonces lo podemos obtener con el metodo GET o si nos encuentra dentro de the grupero porque lo que
hace es envolver el objeto cuando lo encuentre.
Y si no tiene una referencia vacía de tu objeto, entonces puedo preguntar por ejemplo if o antes preguntar
vamos a tener el examen, el examen que queremos devolver?
Igual no le llega a preguntar con un hijo, no sé.
If Examen opcional.
Acá lo tenemos.
Punto is present.
Si está presente se cite.
Se lo encontró perfecto.
Se lo asignamos.
Examen igual.
Examen optional llega.
Tenemos diferente forma, por ejemplo utilizando el método GET, pero lo que es el get es muy parecido
o lo mismo que el OR el FRU.
Otra alternativa.
De hecho, el API, como nota dice, prefiere o prefiere la opción la alternativa de utilizar el método
OR el Satoru se fijan.
Entonces, si no encuentra las una opción, entonces or que tenemos en realidad varios or es or else
y acá pasamos un objeto por defecto null una opción Landau que devuelva el objeto que queremos devolver
por defecto en caso de que no exista o lanzar una excepción.
Vamos a coger acá or el 0.
Listo.
Y acá en vez de en un examen.
Bien.
Ahí tenemos la implementación del service.
Entonces busca en el repositorio Find all.
Da lo mismo como implementar el repository.
Puede ser con JPA, con iben, con JS o puede ser un cliente HTTP utilizando por ejemplo rest template
que se comunica a un micro servicio a un API rest.
Pero lo que hace es buscar.
Es decir, devuelve una lista busca utilizando el epis trim.
Pregunta en el método filter por cada elemento por elemento busca y contiene este nombre.
Si lo encuentra, lo devuelve como un original y se establece entre el optional devolver.
Molestasen el examen el objeto en cuestión electo.
Bien.
El siguiente paso.
Vamos a crear una implementación simple del repositorio.
Con algunos datos de prueba, unos datos de ejemplo.
En el fondo, a crear como una implementación falsa pero implementado por nosotros, sin ninguna fuente
externa, sin ninguna complejidad en cierto te basea todo de de arrest.
Entonces en repositorios vamos a crear una nueva clase.
Examen repository hoy en piel o simplemente.
Esteban Repository Bien, implementamos el método al final con datos de ejemplo.
Entonces acá vamos a volver un ArrayList, una lista con exámenes, por ejemplo, utilizando la clase
Arraiz.
El método hace listo como lista.
Eso devuelve una lista y acá con los objetos exámenes separa por comas.
Entonces new examen y le di el nombre, por ejemplo.
Y 5.
Del tipo lonko.
Entonces acá pasamos la ELE mayúscula coma un nombre.
Por ejemplo matemáticas.
Di6 lenguaje.
Vamos a bajar.
New Examen Historia perfecto, se fijan una implementación simple con datos de ejemplo y esto es lo
que vamos a probar todavía sin entrar como Quito.
La idea es implementar esta clase con algo simple, con datos de ejemplo y probar esta implementación,
porque de hecho, utilizando un poquito, ni siquiera sería necesario tener esta clase de prueba.
Después vamos a ver, simplemente bastaría con la interfaz y poder realizar un mock o un simulacro de
este método.
Después vamos a ver que se da cuenta de que utilizando me quito.
En realidad esta implementación da exactamente igual, da lo mismo.
Y también da lo mismo si es un ArrayList lo que devolvemos una raíz hash list o si obtuviéramos los
datos de cualquier fuente externa como una base dato.
Por ejemplo, cuál sería el siguiente paso?
Bueno, probar crear nuestra clase test, no vamos a ir a examen, por ejemplo acá examen servis e implemente
y acá sobre la clase hacemos un clic en que parte y con al enter crear test.
También podemos crear la clase de forma manual.
No hay ningún problema, pero dentro de test acá perdón.
Test ya va igual con clic derecho New York Class la creamos, anotamos el método con usted se fijan
igual.
Pero acá de forma rápida crea texto, le damos un nombre examen servis simplemen test perfecto con Yuni
5 incluso para comenzar pudrieron marcar esta opción para quien no genere un método test con la anotación
OK.
Se fijan en el método bueno, la clase con el test lo quería acá en test punto Yaba.
Acá tenemos la clase, ya podemos empezar a probar, pero eso lo dejamos para la siguiente clase.
Nos vemos.