Ключи и значения MultiMap в Guava имеют значение @Nullable, и он не имеет встроенной функциональности для добавления проверки. Поэтому я бы просто создал проверку в коде, который помещает значения. Что-то вроде:
if (!key.isEmpty){
multiMap.put(key, value);
} else {
log("Could not add " +value) // or throw an exception or do something else
}
Обновлено: после того, как OP уточнил, что вышеприведенное не относится к его случаю использования, потому что синтаксический анализ выполняется через Spring.
Вы можете использовать ForwardingMultiMap :
Мультикарта, которая перенаправляет все вызовы своих методов на другую мультикарту. Подклассы должны переопределять один или несколько методов, чтобы изменить поведение поддерживающей мультикарты в соответствии с требованиями шаблона декоратора. предупреждение о методе по умолчанию: этот класс не перенаправляет вызовы к методам по умолчанию. Вместо этого он наследует их реализации по умолчанию. Когда эти реализации вызывают методы, они вызывают методы на ForwardingMultimap.
https://guava.dev/releases/23.0/api/docs/com/google/common/collect/ForwardingMultimap.html
Я никогда не использовал этот класс сам, но, похоже, вы можете использовать его для пересылки в подкласс вашего собственного дизайна. Затем в этом подклассе вы можете встроить проверку в метод put
.