Esta libreria permite generar exceptions con soporte para multiples idiomas
Objetos introducidos en tu sistema:
- StandardException
- StandardRuntimeException
Los catalogos de idiomas pueden personalizarce en tus excepciones propias de tu applicación, para ellos debes pasar el catalogo al heredar de standar exception o runtime exception
1 Paso uno, crea una extension del exception render
object AwesomeCatalogo : ResourceMessageCatalog("") {
override val bundleName: String
get() = "scope_a.messages"
}
2 Crea las exception root de tu app, en lugar de extender de runtime exception, extiende de StandardRuntimeException || StandardException
class ExceptionCode : StandardRuntimeException {
construct(...)
override fun getRender(): Render {
return ExceptionRender(TestCatalog)
}
}3 Usa
throw ExceptionCode("CODIGO_ITEM_NOTFOUND")
.appendErrorCode("CODIGO_ERROR_QUERY")
.appendMessage("Algo de context en tu idioma ...")
- Salida
El item no fue enconrado en el sistema
No se pudieron recuperar los datos
Algo de context en tu idioma ...
Para añadir soporte de nuevos idiomas, simplemente crea el resource con la extencion del idioma que buscas soportar. Españos -> es Ingles -> en etc....
/project/src/main/resources/messages.properties
/project/src/main/resources/messages_es.properties
/project/src/main/resources/messages_en.properties
/project/src/main/resources/messages_uk.properties
messages.properties
MENSAJE_KEY_1=Hola !!
MENSAJE_KEY_2=Adios!!messages_en.properties
MENSAJE_KEY_1=Hello!!
MENSAJE_KEY_2=GOODBYE!!