Bacen.STA.ProtocolSerializer (Bacen STA v0.1.0)
The Protocol message serializer.
Link to this section Summary
Functions
Serliazes a Protocol message schema into tuple-formatted XML.
Link to this section Functions
Link to this function
serialize(protocol)
Serliazes a Protocol message schema into tuple-formatted XML.
Examples
iex> protocol = %Bacen.STA.Protocol{
iex> parameters: %Bacen.STA.Protocol.Parameters{
iex> file_name: "202111172051.xml",
iex> file_size: 908,
iex> file_type: "ACCS001",
iex> hash: "053c29ae8b823df65f5bff084f410ca70530c30112bc7590518fe421f4421443",
iex> observation: "test",
iex> senders: %Bacen.STA.Protocol.Parameters.Senders{
iex> sender: [
iex> %Bacen.STA.Protocol.Parameters.Senders.Sender{
iex> dependency: "Dependency001",
iex> operator: "Operator001",
iex> unity: "Unity001"
iex> }
iex> ]
iex> }
iex> }
iex> }
iex> Bacen.STA.ProtocolSerializer.serialize(protocol)
{:Parametros,
[
{:IdentificadorDocumento, ['ACCS001']},
{:Hash, ['053c29ae8b823df65f5bff084f410ca70530c30112bc7590518fe421f4421443']},
{:Tamanho, ['908']},
{:NomeArquivo, ['202111172051.xml']},
{:Observacao, ['test']},
{:Destinatarios,
[
Destinatario: [
Unidade: ['Unity001'],
Dependencia: ['Dependency001'],
Operador: ['Operator001']
]
]}
]}
iex> protocol = %Bacen.STA.Protocol{
iex> parameters: %Bacen.STA.Protocol.Parameters{
iex> file_name: "202111172051.xml",
iex> file_size: 908,
iex> file_type: "ACCS001",
iex> hash: "053c29ae8b823df65f5bff084f410ca70530c30112bc7590518fe421f4421443",
iex> observation: nil,
iex> senders: %Bacen.STA.Protocol.Parameters.Senders{
iex> sender: [
iex> %Bacen.STA.Protocol.Parameters.Senders.Sender{
iex> dependency: "Dependency001",
iex> operator: "Operator001",
iex> unity: "Unity001"
iex> }
iex> ]
iex> }
iex> }
iex> }
iex> Bacen.STA.ProtocolSerializer.serialize(protocol)
{:Parametros,
[
{:IdentificadorDocumento, ['ACCS001']},
{:Hash, ['053c29ae8b823df65f5bff084f410ca70530c30112bc7590518fe421f4421443']},
{:Tamanho, ['908']},
{:NomeArquivo, ['202111172051.xml']},
{:Observacao, []},
{:Destinatarios,
[
Destinatario: [
Unidade: ['Unity001'],
Dependencia: ['Dependency001'],
Operador: ['Operator001']
]
]}
]}
iex> protocol = %Bacen.STA.Protocol{
iex> parameters: %Bacen.STA.Protocol.Parameters{
iex> file_name: "202111172051.xml",
iex> file_size: 908,
iex> file_type: "ACCS001",
iex> hash: "053c29ae8b823df65f5bff084f410ca70530c30112bc7590518fe421f4421443",
iex> observation: nil,
iex> senders: %Bacen.STA.Protocol.Parameters.Senders{sender: []}
iex> }
iex> }
iex> Bacen.STA.ProtocolSerializer.serialize(protocol)
{:Parametros,
[
{:IdentificadorDocumento, ['ACCS001']},
{:Hash, ['053c29ae8b823df65f5bff084f410ca70530c30112bc7590518fe421f4421443']},
{:Tamanho, ['908']},
{:NomeArquivo, ['202111172051.xml']},
{:Observacao, []},
{:Destinatarios, []}
]}