Java :Избегайте проверки на null во вложенных классах (Глубокая проверка Null)

Представьте, что у меня есть класс Family. Он содержит список лиц. Каждый (класс )Person содержит адрес (класса ). Каждый адрес класса ()содержит почтовый индекс (класса ). Любой «промежуточный» класс может быть нулевым.

Итак, есть ли простой способ добраться до PostalCode без проверки на null на каждом шаге? т. е. есть ли способ избежать следующего кода гирляндной цепочки? Я знаю, что нет «родного» Java-решения, но надеялся, что кто-нибудь знает библиотеку или что-то в этом роде. (проверил Commons & Guava и ничего не увидел.)

if(family != null) {
    if(family.getPeople() != null) {
        if(family.people.get(0) != null) {
            if(people.get(0).getAddress() != null) {
                if(people.get(0).getAddress().getPostalCode() != null) {
                    //FINALLY MADE IT TO DO SOMETHING!!!
                }
            }
        }
    }
}

Нет, изменить структуру нельзя. Это из службы, которую я не могу контролировать.

Нет, я не могу использовать Groovy и удобный оператор "Элвис".

Нет, я бы предпочел не ждать Java 8 :D

Не могу поверить, что я первый разработчик, которому надоело писать подобный код, но я не удалось найти решение.

Идеи?

Спасибо

--
llappall

34
задан llappall 30 April 2012 в 22:29
поделиться