TransformerRuleList - com escopo, global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 21 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 nome-valor.

    Esta API funciona junto com as APIs Transformer e TransformerDefinition. Juntos, 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 as adequaçõ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.
    • Executar 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 o valor mínimo ou máximo deve ser usado ao comparar um elemento de dados de origem com 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 Serviço de transformação (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 associadas 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ê usará métodos do adaptador, comothenAdd(), thenReplace()ethenFloor() 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 e o resultado de todos os métodos do adaptador é o valor final salvo no campo de saída.

    Por exemplo, no seguinte snippet de código, "thenMultiply()" e "thenRoundDown()" se aplicam a addRule('change_percentage', '$.quote.changePercent'); addRule('close_Price', '$.quote.close') inicia uma nova regra. Se o valor em $.quote.changePercent for .011, o valor de saída final será "1" (.011 * 100 arredondado para baixo).

    
      .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. Você pode usar os métodos do adaptador "thenConcat()" e "thenConcatSymbol()" 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.
    caminho Cadeia de caracteres Opcional. JSONPath ou XPath para o elemento de dados no documento de origem.

    Os métodos do adaptador "thenConcat()" e "thenConcatSymbol()" não exigem que você defina esse parâmetro se nenhum outro método do adaptador estiver definido para a regra. Todos os outros métodos do adaptador exigem este parâmetro.

    Tabela 2. Retornos
    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 se eles forem exclusivos em uma instância.

    Tabela 4. Retornos
    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 - entãoAdaptCurrency(cadeia de caracteres currencyCode, booliano outputNumericCurrencyValue)

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

    Nota:
    Este é um método do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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: exibir o código do país

    Padrão: falso

    Tabela 6. Retornos
    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 - entãoAdaptDuration(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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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:

    • NANOSsegundo
    • MICROSSEGADO
    • MILISsegundo
    • SEGUNDA
    • MINUTO
    • HORA
    • DIA
    • SEMANA
    outputDuration Cadeia de caracteres Unidade de medida para a qual o campo de origem será convertido na saída.

    Valores válidos:

    • NANOSsegundo
    • MICROSSEGADO
    • MILISsegundo
    • SEGUNDA
    • MINUTO
    • HORA
    • DIA
    • SEMANA
    Tabela 8. Retornos
    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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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. Retornos
    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 - entãoApplyMap(mapa de objeto)

    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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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.
    • name: texto a ser localizado no elemento de dados de origem
    • valor: texto para substituí-lo na saída
    Tabela 12. Retornos
    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 - entãoApplyPattern(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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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
    padrão de correspondência Cadeia de caracteres Padrão Regex a ser usado para localizar o texto a ser substituído/reformatado.
    padrão de saída Cadeia de caracteres Padrão Regex a ser usado para atualizar o texto localizado.
    Tabela 14. Retornos
    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 - theCeiling(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 direto 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 o passado na posição decimal de 2; enquanto que para arredondamento direto 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 no 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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 da vírgula decimal na 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. Retornos
    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 - entãoConcat(valor de cadeia de caracteres)

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

    Ao contrário de outros métodos do 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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 para concatenar até o final do elemento de dados atual.
    Tabela 18. Retornos
    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 - entãoConcatSymbol (símbolo de cadeia de caracteres)

    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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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
    symbol Cadeia de caracteres Nome do elemento da lista de regras a ser anexado ao campo de saída.
    Tabela 20. Retornos
    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 - entãoDivideBy(Number operando)

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

    Nota:
    Este é um método do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 dividir o campo de origem.
    Tabela 22. Retornos
    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 - entãoDivideInto(Number operando)

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

    Nota:
    Este é um método do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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. Retornos
    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 - entãoFloor(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 direto 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 arredonda para baixo. Por exemplo, o valor do piso para 2,156 e 2,152 é sempre 2,15 para o passado na posição decimal de 2; enquanto que para arredondamento direto 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 no 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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 da vírgula na 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. Retornos
    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 - entãoFormat(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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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
    padrão de correspondência Cadeia de caracteres Padrão para corresponder ao campo de origem.

    Valores válidos:

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

    Valores válidos:

    • @: qualquer caractere
    • #: dígito decimal
    • \: escape literal (\@ para o símbolo @)
    Tabela 28. Retornos
    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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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. Retornos
    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 - entãoMin(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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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. Retornos
    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 - entMultiply(Number operando)

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

    Nota:
    Este é um método do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 o campo de origem será multiplicado.
    Tabela 34. Retornos
    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 "substituirString")

    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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 com o campo de origem para identificar o texto a ser substituído.
    Substituir cadeia de caracteres Cadeia de caracteres Cadeia de caracteres com a qual o texto correspondente será substituído.
    Tabela 36. Retornos
    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 - entãoRoundDown(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 "thenRoundDown" () 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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 da vírgula decimal na 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. Retornos
    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 - entãoRoundUp(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 de arredondamento de -2,156 é -2,16. O métodothenCeiling () torna o mesmo número mais positivo, -2,15.

    Nota:
    Este é um método do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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 da vírgula decimal na qual o número será arredondado.

    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. Retornos
    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 - entãoSplit(cadeia de caracteres "splitPattern", cadeia de caracteres "substituirString")

    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 John Michael" e o splitPattern for um espaço, os segmentos disponíveis serão "Smith", "John" e "Michael". Para fazer referência a um segmento, use $#, onde # é o número da ordem do segmento na cadeia de caracteres de texto de origem. Por exemplo, se a chamada do método for entãoSplit(' ', '$2 $3 $1'), a saída será "JohnMichael Smith". Além disso, você pode adicionar constantes no padrão de saída, como entãoSplit(' ', 'Nome: $2 Nome do meio: $3 Sobrenome: $1').

    Nota:
    Este é um método do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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ãode divisão Cadeia de caracteres Cadeia de caracteres que denota como dividir o texto em segmentos.
    Substituir cadeia de caracteres 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 pelo 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. Retornos
    Tipo Descrição
    Objeto Objeto TransformerRuleList atual.

    Neste exemplo, o nome do CEO é sobrenome, nome nos dados de origem e, na saída, será transformado em 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 do adaptador e não pode ser usado sozinho. Os métodos do adaptador funcionam em conjunto com o métodoaddRule(). Eles definem as adequaçõ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. Retornos
    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');