2
respostas

Interfaces

Olá pessoal,

Estou acompanhando os cursos de Java e me surgiu uma "duvida" em como seria a melhor solução para o meu problema.

Problema: Tenho um arquivo .CSV que pode vir em mais de 50 tipos diferentes, sendo assim preciso pegar informações em diferentes campos de acordo com o tipo do arquivo, e com esses campos preciso formar um ID único utilizando o UUID Generator do JAVA.

Duvida: Após o termino do curso elaborei uma forma para tratar cada arquivo especifico. Criaria uma interface com um método e.g:

geraUUID(File file){};

E criaria uma classe para cada tipo de arquivo e.g:

tipo1 implements xxxx{ geraUUID(File file){ String uuid = campo1 + campo9 + campo3; } }

tipo2 implements xxxx{ geraUUID(File file){ String uuid = campo7+ campo13 + campo15; } }

Porém isso geraria mais de 50 classes diferentes para realizar o mesmo codigo no meu projeto.

Tentei pensar em alguma outra forma de realizar esse codigo porém não consegui pensar em outra forma.

Alguém tem alguma ideia ou ja passou por algo parecido?

Obrigado!

2 respostas

Oi Isaque, o CSV pode vir em 50 formatos diferentes. É isso? E neste caso, a única coisa que muda pro UUID é a ordem dos campos?

Não seria melhor criar uma classe só que lê o CSV e que você define a ordem dos campos de forma parametrizada?

Ou quem sabe até mesmo definir a ordem de parametrização no próprio arquivo CSV?

Oi Isaque, o CSV pode vir em 50 formatos diferentes. É isso?

R: Sim por volta de 50 formatos, o problema é que desse modo seria impossivel para os outros sistemas trabalharem com esse arquivo. Ele viria definido de acordo com a regra de negocio baseada em um sistema diferente.

Tentei pensar numa forma de ordenação que nao bagunçasse todo o arquivo, mas ta complicado kkk.