Grep e a ciência por detrás do switch do Groovy

Salve Devs!

Esse post é uma continuação do SE AVENTURANDO NO SWITCH DO GROOVY que fala sobre os melhoramentos que o switch passou a ter no Groovy.

Conheça o grep! A inteligência por detrás do switch

heisencat

O grep é mais um dos métodos que são definidos no DefaultGroovyMethods.java. Onde este será inserido em tempo de execução em todas as Collections instanciadas do projeto em questão.

 

Indo um pouco mais fundo:

Este método utiliza o DefaultGroovyMethodsSupport.createSimilarCollection() para retornar a Collection mais especifica relacionada com o parâmetro de entrada (Ex: ArrayList ou LinkedList) e o BooleanReturningMethodInvoker.invoke() para definir se o parametro possui os critérios necessários para fazer parte do retorno.

 

Segue um exemplo de como o grep trabalha:

Veja em execução no GroovyConsole.

Lembrando que conforme descrito na documentação, o grep específico para collection só está disponível a partir da versão 2.0 do Groovy. Antes disso temos o grep mais genérico voltado para Objects.

Gostaria de agradecer mais uma vez ao Dev Hubert Klein Ikkink que tem contribuído bastante com a comunidade groovy com seus exemplos no Groovy Goodness.

Fonte original

 

 

Anúncios

2 pensamentos sobre “Grep e a ciência por detrás do switch do Groovy

  1. murilo disse:

    Você poderia dar um exemplo de como implementar um cadastro “master detail” no grails?

    • jonatasemidio disse:

      Fala Murilo!

      Quando você usou o termo “master detail” eu imagino que foi pedindo um post detalhando a construção de uma aplicação complexa em Grails.
      Caso seja isso… Posso até elaborar algo mais para frente, mas no momento o meu objetivo com o SantoGrails é mostrar como dentro do ecossistema JAVA temos tecnologias que são bem menos burocráticas e na maioria dos casos mais divertidas. Provavelmente você já viu uma postagem de uma aplicação básica de cadastro de produto (https://santograils.org/2012/07/04/criando-minha-primeira-aplicacao-em-grails/) … Essa aplicação pode ser incrementada com mais domínios e transações mais elaboradas (Mesmo assim não imagino que seja só isso que você queira).

      Por fim, depois desse monte de texto… O que eu queria dizer é que aplicações mais complexas que tomariam bem mais tempo para a criação de uma postagem ainda não é o objetivo do SantoGrails, mas isso não quer dizer que sua sugestão não entrou no meu caderninho.

      Caso eu tenha entendido errado, por favor, me corrija.

      Até as próximas postagens.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: