Documentation for a newer release is available. View Latest

Clases principales

Visión general

A continuación se muestra una vista simplificada de las diversas clases principales relacionadas con el IPF ISO2002 Message model:

core-classes

Los aspectos más destacados son las siguientes clases:

Class Description

ISO20022MessageModel

Este es el punto de acceso principal para trabajar con instancias de Message Definitions. Es un singleton configurable.

JsonMapper

Se encarga de la serialización y deserialización JSON

XMLMapper

Se encarga de la serialización y deserialización XML

MessageComponentValidator

Valida Message Definitions o Message Components; puede realizar Schema Validation, Message Rule y Business Rule Validation

MessageDefinitionSpec

Metadatos generados para cada Message Definition generada. Se usa para proporcionar al ISO20022MessageModel contexto adicional para cada MessageDefinition (como el namespace). ISO20022MessageModel puede usar esta información adicional para inicializar sus componentes, como el XMLMapper.

ISO20022MessageModel

Este es el punto de entrada principal; es un singleton configurable y se proporciona con contexto/metadatos de las MessageDefinitions generadas durante la instanciación. Este contexto se puede usar para arrancar los componentes de soporte subyacentes.

El ISO20022MessageModel contiene una sobrecarga

ISO20022MessageModel.init()

así como un método tradicional

ISO20022MessageModel.getInstance()

La llamada init() realiza una verificación de singleton de la misma manera que getInstance(); sin embargo, diferenciamos con la intención de que init() pueda aceptar argumentos de configuración, y esperamos que esto ocurra solo una vez dentro de una aplicación.

El comportamiento esperado es un único init() al inicio de la aplicación y luego el uso de getInstance() a partir de entonces.

Las llamadas repetidas a init() devolverán la instancia original y registrarán un error.

Llamar a getInstance() sin haber inicializado previamente a través de init() resultará en una Runtime Exception.

Posible cambio de API

Este enfoque de init() vs. getInstance() probablemente cambie a un método único invocable.