2
respostas

Uso dos métodos default

Me corrija se eu estiver errado mas entendo que talvez a principal motivação dos métodos default foi uma melhor evolução da linguagem e frameworks. Eu venho vendo pessoas usando interface de repositório para implementar métodos default agregando algumas funcionalidades como formatação ou implementação de pequenas regras de negócio. O que acha dessa pratica ?

2 respostas

Isso mesmo Carlos, com isso ganhamos algumas coisas a mais na linguagem! Com relação ao seu ponto sobre as interfaces acho que não entendi direito

Abaixo um exemplo meramente ilustrativo:

Para contextualizar esse exemplo usa o SpringData.

@Repository
public interface Mpdt007Repository extends CrudRepository<Mpdt007Entity, Long>{

    @Query("select m from Tabela01 m where m.codent = :codent ")
    public Mpdt007Entity metodo01(@Param("codent")String entidad);

    @Query("select m from Tabela01 m where m.codent = :codent and m.centalta = :centalta ")
    public Mpdt007Entity metodo02(@Param("codent")String entidad,@Param("centalta") String centalta);

    default Mpdt007Entity metodo03(String entidad,String centalta) {

        Mpdt007Entity mpdt007Entity = metodo01(entidad);
        if (mpdt007Entity==null) {
            mpdt007Entity = metodo02(entidad,centalta);
        }
        return mpdt007Entity;
    }
}

Eu tenho um entendimento sobre essa solução mas gostaria de uma outra opinião .