I have a DTO like below
class OnlineProfileDTO {
@JsonProperty("likes")
SummaryDTO likes;
// lots of other complex fields similar to above
}
class SummaryDTO {
@JsonProperty("count")
int count;
}
Now whenever I need likes count in a DTO to DBEntity converter, I need to check if onlineProfileDTO.getLikes()
is null or not before calling onlineProfileDTO.getLikes().getCount()
. Alternatively, catch NullPointerException and ignore it. But this will have to be done for all complex fields which can be potentially null.
Calling a common method like below can avoid the above repetition -
getCount(SummaryDTO anySummaryDTO) {
if (anySummaryDTO != null) {
return anySummaryDTO.getCount();
}
return 0;
}
Once above method is defined, one can use it to get Like count in following fashion:
getCount(onlineProfileDTO.getLikes())
My question is where should this method be ideally placed? More specifically, is it OK to move this method to DTO class which usually contains the transfer object fields along with their getters and setters only?
Approach 2: One can also define getLikes() method in a way that it returns the count directly but its return datatype will be int.
Optional