Условная проверка может быть отменена - вместо:
if(!date.equalsIgnoreCase("Today")){
use
if(!"Today".equalsIgnoreCase(date)){
«Today» не равно NULL, поэтому оно никогда не вызовет исключение NullPointerException.
Однако, поскольку требование изменилось, параметр String date
должен быть изменен на Optional<String> date
. Это делает код самодокументированным, без необходимости смотреть на реализацию. Но в зависимости от того, как анализируется XML, это может оказаться невозможным.
Кроме того, рассмотрите возможность использования LocalDate
внутри и конвертируйте в Date
, если тип возвращаемого значения не может быть изменен на LocalDate
.