Декоратор или адаптер наполовину состоит из методов, которые только зовут то же самое у обёрнутого объекта. В самой JDK у
Collections.UnmodifiableCollection таких методов 14.JEP 8209434 «Concise Method Bodies» Брайана Гётца предлагает записывать их как лямбды:
public int size() -> c.size(); или ссылкой на метод: public int size() = aList::size;. Заявку подали в августе 2018 года, и она до сих пор в статусе Draft: ни целевого релиза, ни preview-флага. В C# такие тела работают с 2015 года.Автор статьи ждать перестал и собрал препроцессор java-composition: он разворачивает такие тела в обычный Java-код до того, как файл дойдёт до javac, начиная с Java 8.
Цена — исходник, который без препроцессора не соберётся ни у кого. Взяли бы такое в проект, который поддерживать ещё пять лет?
