Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Тут совсем не в архитектуре дело. Фишка в том, что в третьем кейсе значение получается типа Boolean и у плеера крышу сносит, когда он пытается Boolean и String сравнить (BudgetMetadata.STATUS_* - строки). Но интереснее был бы вариант, при котором код был бы валидным, т.е. BudgetMetadata.STATUS_* были бы типа Boolean 🙂
Косяков в логике нет, ну а архитектура зависит от многих внешних факторов, включая предпочтения автора
Тогда это эпично)
превед ис шстова бэ