TransformerRuleList - com escopo, global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 20 min. de leitura
  • A API TransformerRuleList permite criar uma lista de regras para transformar vários tipos de dados JSON e XML em saída de par de nome-valor.

    A API TransformerRuleList funciona junto com as APIs Transformer e TransformerDefinition. Juntas, essas APIs transformam nós XML ou qualquer entidade em um documento JSON estruturado em uma saída de pares de nome-valor. Entidades JSON compatíveis, incluindo objetos e elementos em uma matriz, como cadeias de caracteres, números e outras matrizes.

    • A API TransformerRuleList permite criar listas de regras de transformação que definem quais dados no documento de origem serão incluídos na saída e como transformar os dados de origem.

    • A API TransformerDefinition associa uma lista de regras de transformação a um caminho de registro JSON/XML para definir objetos de definição de transformação reutilizáveis. Você pode usar um objeto de definição de transformação para transformar um ou mais documentos de origem.

    • A API do Transformador executa a transformação de dados real, uma entidade de dados de cada vez, usando a lista de regras de transformação especificada para criar os dados de saída desejados.

    Ao instanciar o objeto TransformRuleList, você deve definir se ele descreve um documento de origem JSON ou XML usando os métodos .fromJSON() ou .fromXML(). Por exemplo:

    var trl = sn_tfrm.TransformerRuleList().fromJSON(); ou var trl = sn_tfrm.TransformerRuleList().fromXML();

    Em seguida, use o método addRule() para definir uma regra de transformação para cada elemento no documento de origem que você deseja incluir como um par nome-valor na saída.

    Use "métodos de adaptador", como setName( )outhenAdd(), para definir como manipular elementos de dados quando a transformação for realizada. Os métodos do adaptador funcionam junto com o método addRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões. Você pode aplicar um ou mais métodos de adaptador a cada transformação de dados. Os métodos do adaptador permitem que você faça coisas como:
    • Concatenar texto.
    • Execute funções matemáticas, como adicionar, subtrair, dividir e multiplicar.
    • Arredonde os valores para cima ou para baixo (arredondar para cima/para baixo, teto/piso).
    • Defina se deve usar o valor mínimo ou máximo ao comparar um elemento de dados de origem a um valor especificado.
    • Aplique um código de moeda.
    • Converta entre diferentes unidades de medida.
    • Formatar elementos de dados.
    • Aplicar padrões.
    • Substitua os elementos de dados especificados por um valor especificado.
    • Dividir e reorganizar cadeias de caracteres.

    Você pode usar a classe TransformerRuleList em scripts de servidor com escopo e globais. Ao usar esta classe em uma aplicação com escopo, use o identificador de namespace sn_tfrm. Além disso, antes que esta API esteja disponível em uma instância, você deve ativar o plug-in Transformation Service (com.glide.transform).

    TransformerRuleList - addRule(regra de cadeia de caracteres, caminho de cadeia de caracteres)

    Cria uma entrada na lista de regras de transformação associada que define um campo a ser criado na saída.

    Você pode criar regras para qualquer elemento em um documento de origem. Por exemplo, .addRule('ticker', '$.quote.symbol') cria o campo "ticker" na saída e copia o valor em quote.symbol da origem.

    Depois de definir uma regra usando addRule(), você usa métodos de adaptador, como entãoAdicionar(), entãoReplace()e entãoFloor() para manipular os dados de saída da regra. Você pode definir quantos métodos de adaptador forem necessários para uma única regra. Todos os métodos do adaptador diretamente após uma chamada addRule(), até a próxima chamada addRule(), se aplicam a essa regra. Os métodos do adaptador são cumulativos, com o resultado de todos os métodos do adaptador sendo o valor final salvo no campo de saída.

    Por exemplo, no snippet de código a seguir, entãoMultiply() e entãoRoundDown() se aplicam a addRule('change_percentage', '$.quote.changePercent'); addRule('close_price', '$.quote.close') inicia uma nova regra. Se o valor em $.quote.changePercent for 0,011, o valor de saída final será "1" (0,011 * 100 arredondado para a posição da unidade).

    
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 

    O método addRule() também oferece suporte ao parâmetro summary; .addRule('summary'). Esta implementação cria o campo de nome "summary:" na saída, mas não o correlaciona a nenhum campo na origem. Em seguida, você pode usar os métodos de adaptador em seguidaConcat() e emConcatSymbol() para modificar o conteúdo do campo de resumo.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    regra Cadeia de caracteres Nome do elemento na saída de destino.
    path Cadeia de caracteres Opcional. JSONPath ou XPath para o elemento de dados no documento de origem.

    Os métodos do adaptador entãoConcat() e entãoConcatSymbol() não exigem que você defina este parâmetro se nenhum outro método do adaptador for definido para a regra. Todos os outros métodos do adaptador exigem este parâmetro.

    Tabela 2. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('summary') 
      .thenConcat('Shares of ') 
      .thenConcatSymbol('ticker') 
      .thenConcat(' closed at ') 
      .thenConcatSymbol('close_price'); 
    

    TransformerRuleList - setName(cadeia de caracteres name)

    Define um nome para o objeto TransformerRuleList associado para fins de registro em log.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome a ser usado para identificar o objeto TransformerRuleList associado.

    Embora a API não force esse nome a ser exclusivo, é útil que ele seja exclusivo em uma instância.

    Tabela 4. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('summary') 
      .thenConcat('Shares of ') 
      .thenConcatSymbol('ticker') 
      .thenConcat(' closed at ') 
      .thenConcatSymbol('close_price'); 
    

    TransformerRuleList -thenAdaptCurrency(cadeia de caracteres "currencyCode", booliano outputNumericCurrencyValue)

    Adiciona um adaptador à regra atual que vincula o código de moeda especificado ao campo de saída definido na chamada addRule() associada.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    currencyCode Cadeia de caracteres Código da moeda a ser vinculado ao elemento de dados de destino, como USD, EUR e GBP.
    outputNumericCurrencyValue Booliano Opcional. Sinalizador que indica se o código da moeda deve ser exibido.

    Valores válidos:

    • verdadeiro: não exibe o código do país; somente valor numérico
    • falso: exibe o código do país

    Padrão: falso

    Tabela 6. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('summary') 
      .thenConcat('Shares of ') 
      .thenConcatSymbol('ticker') 
      .thenConcat(' closed at ') 
      .thenConcatSymbol('close_price'); 
    

    TransformerRuleList -thenAdaptDuration(cadeia de caracteres inputDuration, cadeia de caracteres outputDuration)

    Adiciona um adaptador à regra atual que converte o campo de origem de uma unidade de medida em outra, como de minutos para segundos ou semanas para dias.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 7. Parâmetros
    Nome Tipo Descrição
    inputDuration Cadeia de caracteres Unidade de medida atual do campo de origem.

    Valores válidos:

    • NANOSEGUNDO
    • MICROSSEGUNDO
    • MILISEGUNDO
    • SEGUNDO
    • MINUTO
    • HORA
    • DIA
    • SEMANA
    outputDuration Cadeia de caracteres Unidade de medida para converter o campo de origem na saída.

    Valores válidos:

    • NANOSEGUNDO
    • MICROSSEGUNDO
    • MILISEGUNDO
    • SEGUNDO
    • MINUTO
    • HORA
    • DIA
    • SEMANA
    Tabela 8. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('daily', '$.quote.weekly') 
      .thenAdaptDuration('WEEK', 'DAY'); 
    

    TransformerRuleList -thenAdd(Number operando)

    Adiciona um adaptador à regra atual que adiciona o valor passado ao campo de origem.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    operando Número Valor a ser adicionado ao campo de origem.
    Tabela 10. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList.fromJSON()
      .setName('Stock Report 05182019 JSON')
      .addSymbol('ticker', '$.symbol') 
      .addSymbol('change_percentage', '$.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addSymbol('trade_price', '$.current_price')
      .thenAdaptCurrency('USD', false) 
      .addMultiply('$.trade_quantity')
      .thenAdd('4.5'); 
    

    TransformerRuleList -thenApplyMap(Object map)

    Adiciona um adaptador à regra atual que pesquisa o campo de origem associado em busca de uma lista de cadeias de caracteres e as substitui na saída pelos valores de substituição especificados.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    mapa Objeto Pares de nome/valor.
    • nome: texto a ser localizado no elemento de dados de origem
    • valor: texto para substituí-lo na saída
    Tabela 12. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.

    Neste exemplo, a chamadathenApplyMap() pesquisa o texto de origem no campo company_info para Inc. e St. e os substitui por Incorporated e Street no campo company_info na saída.

    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('company_info', '$.quote.company_info') 
      .thenApplyMap({'Inc.': 'Incorporated', 'St.': 'Street'});
    

    TransformerRuleList -thenApplyPattern(cadeia de caracteres "matchPattern", cadeia de caracteres "outputPattern"

    Adiciona um adaptador à regra atual que corresponde a um padrão regex especificado ao conteúdo no campo de origem e, em seguida, substitui/reformata esse conteúdo por um segundo padrão regex e armazena esse valor na saída.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 13. Parâmetros
    Nome Tipo Descrição
    MatchPattern Cadeia de caracteres Padrão Regex a ser usado para localizar o texto a ser substituído/reformatado.
    outputPattern Cadeia de caracteres Padrão Regex a ser usado para atualizar o texto localizado.
    Tabela 14. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.

    Neste exemplo, qualquer nome de empresa que termine com "Inc." é transformado para "Incorporado", como Empresa Inc. para Empresa Incorporada.

    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('company', '$.quote.company') 
      .thenApplyPattern('(.+)(\\w{3}\\.)', '$1Incorporated');
    

    TransformerRuleList -thenCeiling(Number operando)

    Adiciona uma ação à regra atual para arredondar o campo de origem para cima na posição decimal especificada pelo valor passado.

    Ao contrário do arredondamento reto em que o número é arredondado com base no valor do dígito na posição decimal especificada (0-4 arredonda para baixo, 5-9 arredonda para cima), o limite máximo é sempre arredondado para cima. Por exemplo, o valor máximo para 2,156 e 2,152 é sempre 2,16 para a posição decimal passada de 2; enquanto que para arredondamento reto os valores seriam 2,16 e 2,15 respectivamente. Para números negativos, a operação de limite torna o número mais positivo, já que o valor máximo de -2,156 é -2,15; enquanto o mesmo número arredondado para cima torna o valor mais negativo, -2,16.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    operando Número Posição decimal à direita do ponto decimal no qual o número será arredondado para cima (aplicar teto).

    Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,421, o valor resultante será 6,43.

    Tabela 16. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Mortgage Rates 05022019 JSON')
      .addRule('interest_rate', '$.quote.interest_rate') 
      .thenCeiling('2') // Always round the interest rate up to the hundredths place 
      .addRule('monthly_payment', '$.quote.total_loan_amount') 
      .thenDivideBy('180'); 
    

    TransformerRuleList -thenConcat(cadeia de caracteres value)

    Adiciona um adaptador à regra atual que concatena a cadeia de caracteres passada na cadeia de caracteres para o campo de saída.

    Ao contrário de outros métodos de adaptador, este método não precisa ser aplicado a um campo de origem. Você pode usar este método para criar cadeias de caracteres de dados completamente novas na saída.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 17. Parâmetros
    Nome Tipo Descrição
    valor Cadeia de caracteres Texto a ser concatenado ao final do elemento de dados atual.
    Tabela 18. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('summary') 
      .thenConcat('Shares of ') 
      .thenConcatSymbol('ticker') 
      .thenConcat(' closed at ') 
      .thenConcatSymbol('close_price'); 
    

    TransformerRuleList -thenConcatSymbol(cadeia de caracteres "símbolo")

    Adiciona um adaptador à regra atual que concatena o valor de um campo definido anteriormente na lista de regras para o campo de saída atual.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 19. Parâmetros
    Nome Tipo Descrição
    símbolo Cadeia de caracteres Nome do elemento da lista de regras a ser anexado ao campo de saída.
    Tabela 20. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('summary') 
      .thenConcat('Shares of ') 
      .thenConcatSymbol('ticker') 
      .thenConcat(' closed at ') 
      .thenConcatSymbol('close_price'); 
    

    TransformerRuleList -thenDivideBy(Number operando)

    Adiciona um adaptador à regra atual que divide o campo de origem pelo valor passado.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 21. Parâmetros
    Nome Tipo Descrição
    operando Número Valor pelo qual o campo de origem será dividido.
    Tabela 22. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('dividend_per_share', '$.quote.total_dividend') 
      .thenDivideBy('$.quote.total_shares'); 
    

    TransformerRuleList -thenDivideInto(Number operando)

    Adiciona um adaptador à regra atual que divide o valor passado pelo campo de origem.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 23. Parâmetros
    Nome Tipo Descrição
    operando Número Valor no qual dividir o campo de origem.
    Tabela 24. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('dividend_per_share', '$.quote.total_shares') 
      .thenDivideInto('$.quote.total_dividends'); 
    

    TransformerRuleList -thenFloor(Number operando)

    Adiciona um adaptador à regra atual que arredonda o campo de origem para baixo na posição decimal especificada pelo valor passado e o armazena na saída.

    Ao contrário do arredondamento simples em que o número é arredondado com base no valor do dígito na posição decimal especificada (0-4 arredonda para baixo, 5-9 arredonda para cima), o piso é sempre arredondado para baixo. Por exemplo, o valor mínimo para 2,156 e 2,152 é sempre 2,15 para o passado na posição decimal de 2; enquanto que para arredondamento reto os valores seriam 2,16 e 2,15 respectivamente. Para números negativos, a operação de piso torna o número mais negativo, já que o valor de piso de -2,156 é -2,16; enquanto o mesmo número arredondado para baixo torna o valor mais positivo, -2,15.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 25. Parâmetros
    Nome Tipo Descrição
    operando Número Posição decimal à direita do ponto decimal no qual o número será arredondado para baixo (aplicar piso).

    Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,427, o valor resultante será 6,42.

    Tabela 26. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Mortgage Rates 05022019 JSON')
      .addRule('interest_rate', '$.quote.interest_rate') 
      .thenFloor('2') // Always round the interest rate down to the hundreths place 
      .addRule('monthly_payment', '$.quote.total_loan_amount') 
      .thenDivideBy('180'); 
    

    TransformerRuleList -thenFormat(cadeia de caracteres "matchPattern", cadeia de caracteres "outputPattern")

    Adiciona um adaptador à regra atual que reformata o conteúdo no campo de origem que corresponde ao padrão de correspondência especificado, com o padrão de saída especificado.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 27. Parâmetros
    Nome Tipo Descrição
    MatchPattern Cadeia de caracteres Padrão para corresponder ao campo de origem.

    Valores válidos:

    • @: qualquer caractere
    • Nº: dígito decimal
    • \: escape literal (\@ para o símbolo @)
    outputPattern Cadeia de caracteres Padrão para substituir o conteúdo na saída.

    Valores válidos:

    • @: qualquer caractere
    • Nº: dígito decimal
    • \: escape literal (\@ para o símbolo @)
    Tabela 28. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.

    Este exemplo reformata a data da cotação de AAAA/MM/DD para AAAA MM-DD.

    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('date', '$.quote.date') 
      .thenFormat('####/##/##', '#### ##-##'); 
    

    TransformerRuleList -thenMax(Number operando)

    Adiciona um adaptador à regra atual que compara o valor passado com o campo de origem e copia o maior dos dois valores para o campo de saída.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 29. Parâmetros
    Nome Tipo Descrição
    operando Número Valor a ser comparado ao campo de origem.
    Tabela 30. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Mortgage Rates 05022019 JSON')
      .addRule('lowest_interest_rate', '$.quote.interest_rate') 
      .thenMax('3.5') // Interest rate cannot be less than 3.5%
      .addRule('dividend_per_share', '$.quote.total_shares') 
      .thenDivideInto('$.quote.total_dividends'); 
    

    TransformerRuleList -thenMin(Number operando)

    Adiciona um adaptador à regra atual que compara o valor passado com o campo de origem e copia o menor dos dois valores para o campo de saída.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 31. Parâmetros
    Nome Tipo Descrição
    operando Número Valor a ser comparado ao campo de origem.
    Tabela 32. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addSymbol('broker_fee_percentage', '$.quote.broker_fee') 
      .thenMin('10') // Maximum of 10% broker fee
      .addSymbol('dividend_per_share', '$.quote.total_shares') 
      .thenDivideInto('$.quote.total_dividends'); 
    

    TransformerRuleList -thenMultiply(Number operando)

    Adiciona um adaptador à regra atual que multiplica o campo de origem pelo valor passado.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 33. Parâmetros
    Nome Tipo Descrição
    operando Número Valor pelo qual multiplicar o campo de origem.
    Tabela 34. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('summary') 
      .thenConcat('Shares of ') 
      .thenConcatSymbol('ticker') 
      .thenConcat(' closed at ') 
      .thenConcatSymbol('close_price'); 
    

    TransformerRuleList -thenReplace(cadeia de caracteres "matchString", cadeia de caracteres "placeplaceString")

    Adiciona um adaptador à regra atual que encontra todo o texto no campo de origem que corresponde a uma cadeia de caracteres especificada e o substitui por uma cadeia de caracteres atualizada.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 35. Parâmetros
    Nome Tipo Descrição
    cadeia de correspondência Cadeia de caracteres Cadeia de caracteres a ser correspondida ao campo de origem para identificar o texto a ser substituído.
    cadeia de caracteressubstituir Cadeia de caracteres Cadeia de caracteres com a qual substituir o texto correspondente.
    Tabela 36. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.

    Neste exemplo, qualquer nome de empresa que termine com "Inc." é transformado para "Incorporado", como Empresa Inc. para Empresa Incorporada.

    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('company', '$.quote.company') 
      .thenReplace('Inc.', 'Incorporated');
    

    TransformerRuleList -thenRoundDown(Number operando)

    Adiciona um adaptador à regra atual que arredonda o campo de origem para baixo na posição decimal especificada pelo valor passado.

    Para números negativos, o método entãoRoundDown() torna o número mais positivo; o valor arredondado para baixo de -2,156 é -2,15. O método entãoFloor() torna o mesmo número mais negativo, -2.16.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 37. Parâmetros
    Nome Tipo Descrição
    operando Número Posição decimal à direita do ponto decimal no qual o número será arredondado para baixo.

    Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,427, o valor resultante será 6,42.

    Tabela 38. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList90
      .fromJSON()
      .setName('Mortgage Rates 05022019 JSON')
      .addRule('interest_rate', '$.quote.interest_rate') 
      .thenRoundDown('2') // Always round the interest rate down to the hundredths place 
      .addRule('monthly_payment', '$.quote.total_loan_amount') 
      .thenDivideBy('180'); 
    

    TransformerRuleList -thenRound Up(Number operando)

    Adiciona um adaptador à regra atual que arredonda o elemento de dados de origem para cima na posição decimal especificada pelo valor passado.

    Para números negativos, o método entãoRoundUp() torna o número mais negativo; o valor arredondado de -2,156 é -2,16. O métodothenCeiling() torna o mesmo número mais positivo, -2,15.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 39. Parâmetros
    Nome Tipo Descrição
    operando Número Posição decimal à direita do ponto decimal no qual o número será arredondado para cima.

    Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,422, o valor resultante será 6,43.

    Tabela 40. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Mortgage Rates 05022019 JSON')
      .addRule('interest_rate', '$.quote.interest_rate') 
      .thenRoundUp('2') // Always round the interest rate up to the hundredths place 
      .addRule('monthly_payment', '$.quote.total_loan_amount') 
      .thenDivideBy('180'); 
    

    TransformerRuleList -thenSplit(cadeia de caracteres "splitPattern", cadeia de caracteres "placeplaceString")

    Adiciona um adaptador à regra atual que divide, reorganiza e substitui cadeias de caracteres no campo de origem e as salva no campo de saída.

    O parâmetro splitPattern denota como dividir a cadeia de caracteres de texto de origem em segmentos. Este parâmetro pode ser um separador de palavras típico, como um espaço (' '), vírgula (',') ou ponto e vírgula (';'), e também pode ser qualquer cadeia de caracteres, como 'name'. Por exemplo, se o texto de origem for "Smith JohnMichael" e o splitPattern for um espaço, os segmentos disponíveis serão "Smith", "João" e "Michael". Para fazer referência a um segmento, use $#, onde # é o número da ordem do segmento na cadeia de caracteres do texto de origem. Por exemplo, se a chamada do método for entãoDividir(' ', '$2 $3 $1'), a saída será "João Paulo Silva". Além disso, você pode adicionar constantes no padrão de saída, como entãoDividir(' ', 'Nome: $2 Nome do meio: $3 Sobrenome: $1').

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 41. Parâmetros
    Nome Tipo Descrição
    padrão de divisão Cadeia de caracteres Cadeia de caracteres que denota como dividir o texto em segmentos.
    cadeia de caracteressubstituir Cadeia de caracteres Cadeia de caracteres que define a cadeia de caracteres de saída, incluindo referências de segmento e constantes. Nem todos os segmentos precisam ser referenciados.

    Faça referência aos segmentos definidos por splitPattern usando $#, em que # é o número da ordem do segmento no elemento de dados de origem. Faça referência a todo o elemento de dados de origem usando $0.

    Tabela 42. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.

    Neste exemplo, o nome do CEO é o sobrenome, o nome nos dados de origem e, na saída, ele será transformado para o nome sobrenome.

    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock Report 05022019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('CEO', '$.quote.CEO') 
      .thenSplit(',', '$2 $1');
    

    TransformerRuleList -thenSubtract(Number operando)

    Adiciona um adaptador à regra atual que subtrai o valor passado do campo de origem e o armazena no campo de saída.

    Nota:
    Este é um método de adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem acomodações a serem aplicadas ao campo de saída definido pelo método addRule(), como formatação, arredondamento e aplicação de padrões.
    Tabela 43. Parâmetros
    Nome Tipo Descrição
    operando Número Valor a ser subtraído do elemento de dados de origem.
    Tabela 44. Retorna
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.
    var transformerRuleList = new sn_tfrm.TransformerRuleList()
      .fromJSON()
      .setName('Stock 05182019 JSON')
      .addRule('ticker', '$.quote.symbol') 
      .addRule('change_percentage', '$.quote.changePercent') 
      .thenMultiply('100') 
      .thenRoundDown('0') 
      .addRule('close_price', '$.quote.close') 
      .thenAdaptCurrency('USD', false) 
      .addRule('trade_price', '$.quote.current_price') 
      .addMultiply('$.quote.trade_quantity')
      .thenSubtract('$.quote.discount_dollars');