Bien, continuemos con capitalizar cada palabra del estric.
En este caso acá tenemos en la clase con el método main mesa, centro, roble, no solamente mesas,
sino cada palabra.
Bien, el cambio sería relativamente simple.
Solamente tenemos que quitar esto y procesar con el API Stream cada palabra.
Bueno, de hecho acá tenemos nuevo valor, que es un string.
Por supuesto.
Entonces tenemos que convertir este string a un arreglo de String con cada una de la palabra por separado
y procesamos cada una.
Cómo sería?
Veamos esto lo voy a quitar o de hecho lo pueden comentar si quieren?
Bueno, lo van a comentar y yo lo voy a quitar ya.
Simplemente te lo quito.
Entonces, a raíz punto del método String, convertimos nuevo valor punto a un arreglo con el método
Split.
Recuerden que el split recibe un patrón, en este caso un separador que sería el espacio.
Entonces cada palabra del string, recuerden separados por un espacio, queda como un elemento del arreglo
perfecto.
Y acá con el método MAP, bajamos.
Punto Map convertimos.
La conversión por cada elemento es idéntica a la que teníamos antes.
Palabra Cada palabra del string la convertimos.
Palabra punto sub string.
Recuerdo que tomamos el primer caracter cero coma uno punto.
Tu aparques.
Lo convertimos en mayúscula.
Más despacio.
De hecho, voy a bajar acá.
Más palabra punto sub string 1.
Todo lo que siga después del primer caracter y lo convertimos a minúscula.
Punto.
Turlough que es perfecto.
Ahora tenemos que convertir todo el stream a un tipo string.
Recuerde que esto es un stream de String.
Lo convertimos a una sola cadena diferente forma.
Podríamos utilizar un Reedus, por ejemplo, o bien el colector.
Vamos a utilizar el colector colector jeune.
Lo que hace es juntar todos los elementos en uno solo como del tipo string.
Se concatena con el separador espacio y así vuelve constante pero con cada palabra capitalizada.
Eso es todo.
Acá tenemos nuevo valor con el API Stream.
Usamos el map.
Convertimos.
Luego juntamos todos los elementos del stream en un solo string separado con espacio.
Es decir, volvemos como estante y se lo asignamos.
Vamos a ejecutar.
Mesa centro, roble perfecto.
Incluso podría majar roble mayúscula y lo demás minúscula.
Vamos a ver desde aquí a todo capitalizado.
Perfecto.
Listo con esa parte, continuemos con otro ejemplo, veamos otra anotación incluso pudimos aprovechar
el capitalizar para esta nueva anotación.
La idea es tener una anotación, pero en un método acá lo estamos utilizando sobre el atributo.
Entonces vamos a crear una nueva anotación.
En la raíz bueno con рамках de la misma ya Klauss anotacion init.
Init de inicializar oke solamente con el retencion y el retencion policy en ranta retención Retevisión
Policy Henrietta.
Qué más?
Bueno, pareció el anterior.
Luego tenemos el target element type, pero en el método ya no es fiel.
Testino es método.
Es decir, lo vamos a utilizar.
Lo vamos a aplicar en un método.
Listo.
Ahora vamos a ir a la clase de producto.
Vamos a crear un método por acá.
Puede ser un método público, un método privado.
Depende cómo lo queramos manejar.
Lo vamos a dejar private por seguridad, para que no se puede invocar desde fuera.
Private va a devolver nada.
Un void init inicializar como si fuera un constructor, por así decir.
Bien.
Y acá va a tener la anotación init.
Y dentro este método vamos a capitalizar el nombre.
De hecho, vamos a ir acá, vamos a copiar todo lo que hicimos.
Es todo acá el raíz lo copiamos, lo llevamos a pro-ducto.
Esto sería otra alternativa.
En vez de palabra.
Bueno, palabra lo dejamos así no hay ningún problema.
Pero en vez de nuevo valor base el nombre tonce nombre yaca diez punto nombre igual.
Esto es decir, actualizamos el nombre, pero capitalizado.
Pero lo hacemos a nivel de un método y de una anotación aplicada a un método.
Esa es la diferencia.
Bien, hasta momento no hemos hecho nada.
Así que voy a ir a producto, voy a colocar, capitalizar en nada.
Lo dejamos en fours o lo quitamos.
Lo dejamos así.
Si ejecutamos, no capitaliza.
Todavía no pasa nada.
Se fijan mesas Centro Roble no capitaliza, claro, porque lo quitamos de acá, quitamos la configuración,
se fijan cuando usamos anotaciones para configurar metadata.
Eso es.
Ahora vamos a ir a Jackson socializador.
Íbamos a tener un método por acá estatico también, que se encarga de inicializar el objeto antes de
convertir a Jackson.
Entonces un public void inicializar objeto, que es lo que recibe el objeto objeto, objeto, objeto.
Bien.
Y vamos a tener algo muy parecido.
De hecho, vamos a copiar esto.
Lo copiamos acá.
Acá tenemos los atributos o perdón Macca atributo en realidad son métodos, entonces get declare métodos.
Entonces, en vez de fields la cacería métodos.
Lleca sería.
Method derri fleto.
Se fijan ahora el método, en vez de campos es toda la diferencia.
Y también utilizando la API Stream acá.
No devuelve nada.
Simplemente a raíz punto stream.
Métodos infiltramos, claro.
Tenemos que filtrar solamente aquellos que tengan esta anotación, muy parecido al que hicimos acá con
los atributos, no es cierto?
Si el método en este caso m m punto es anotá hecho empresa.
En este caso init toclas.
Acá tenemos que importar init.
Pun toclas.
Entonces está presente, perfecto, usando foreach por cada elemento invocamos el método M.
M punto invoca.
Invocamos el método por cada uno que esté con la anotación y pasamos el objeto, el Limburg recibe el
objeto en este caso.
S.
Acá nos pide try catch, así que anidar contra el catch.
La.
De hecho, todo lo podríamos abreviar en vez utilizar dos catch.
Podríamos utilizar esto acá.
Voy a quitar esto.
Voy a colocar acá.
El pie y la otra se fijan.
Este lo quito y quedamos con una sola.
Y acá.
Un pro tronío nuetras opción que teníamos, pero no Yeison ser alisador exception perfecto.
De esto no se puede inicializar objeto.
Puntico.
Y listo.
Ahí lo tenemos.
Veamos cómo funciona.
Recuerden Mesa Centro no lo está aplicando porque lo quitamos de la configuración, lo quitamos del
nombre.
Acá el capitalizar.
Entonces lo vamos a hacer a través del arroba init de esta anotación en el método.
Ah, y acá va a marcar un error porque es privat.
Por lo tanto no va a poder acceder.
Entonces, para que pueda acceder y puede invocar este método.
Porque fíjense bien.
Vamos a forzar este error.
De hecho, voy a colocar acá.
Voy a bajar acá también más.
Eh?
Punto.
Get me va a decir que método privado que no lo puede ejecutar.
Vamos a ver.
Ah, bien, falta un detalle importante, claro, acá tenemos el método inicializar objeto, pero en
ninguna parte lo estamos invocando.
Por lo tanto, no se está ejecutando entonces acá en convertir a Jason, lo tenemos que invocar acá.
Bien, vamos a cerrar y vamos a cambiar acá el modificador, porque tiene que ser estático para que
se pueda invocar desde acá, obviamente.
Entonces public static void e importante método estático y acá lo invocamos.
Entonce inicializar objeto.
Pasamos el objeto out ahí.
Ahora sí que lo estamos llamando.
Volvemos y ejecutamos.
Se fijan, ahí lanza la excepción y está bien, porque el método es privado.
No sepa acceder al miembro o método.
Porque privado, entonces, claro, tenemos que modificar acá.
Volvemos dentro del foreach.
M Punto Set.
Accesible en Trou, lo mismo que hicimos con los atributos.
Ahora sí que si.
Volvemos, levantamos.
Mesa Centro Rolle.
Se fijan utilizando otra anotación en un método.
En el fondo hacen lo mismo, pero de otra forma.
Entonces tenemos dos formas para capitalizar, nada más.
Nos vemos.