Ho un DTO come sotto
class OnlineProfileDTO {
@JsonProperty("likes")
SummaryDTO likes;
// lots of other complex fields similar to above
}
class SummaryDTO {
@JsonProperty("count")
int count;
}
Ora ogni volta che ho bisogno di Mi piace contare in un convertitore DTO a DBEntity, ho bisogno di controllare se onlineProfileDTO.getLikes()
è nullo o meno prima di chiamare onlineProfileDTO.getLikes().getCount()
. In alternativa, prendi NullPointerException e ignoralo. Ma questo dovrà essere fatto per tutti i campi complessi che possono essere potenzialmente nulli.
Chiamare un metodo comune come di seguito può evitare la ripetizione sopra -
getCount(SummaryDTO anySummaryDTO) {
if (anySummaryDTO != null) {
return anySummaryDTO.getCount();
}
return 0;
}
Una volta definito sopra il metodo, è possibile utilizzarlo per ottenere il conteggio Like come segue:
getCount(onlineProfileDTO.getLikes())
La mia domanda è dove dovrebbe essere posto idealmente questo metodo? Più specificamente, è corretto spostare questo metodo sulla classe DTO che di solito contiene i campi oggetto di trasferimento insieme ai loro getter e setter solo?
Approccio 2: Si può anche definire il metodo getLikes () in modo che restituisca il conteggio direttamente ma il suo tipo di dati restituito sarà int.