No KafkaService.java fiquei em dúvida por que o parse é declarado dessa forma, sem passar o T '' como generic:
private final ConsumerFunction parse;
No KafkaService.java fiquei em dúvida por que o parse é declarado dessa forma, sem passar o T '' como generic:
private final ConsumerFunction parse;
Oi Valdir, tudo bem?
Desculpe a demora em retornar.
No caso específico do KafkaService.java, o parse é declarado sem passar o tipo genérico '' porque o tipo genérico é definido na própria classe KafkaService. Provavelmente, você encontrará algo como:
public class KafkaService<T> {
private final ConsumerFunction<T> parse;
...
}
Nesse caso, o tipo genérico '' é definido na declaração da classe KafkaService e é utilizado para definir o tipo do ConsumerFunction 'parse'. Dessa forma, quando você criar uma instância da classe KafkaService, você poderá especificar o tipo que deseja utilizar para o ConsumerFunction.
Por exemplo, se você quiser utilizar um ConsumerFunction que recebe e retorna Strings, você poderia fazer algo como:
KafkaService<String> kafkaService = new KafkaService<>();
ConsumerFunction<String> parse = kafkaService.parse;
Espero que isso tenha esclarecido sua dúvida!
Um abraço e bons estudos.