Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
@Immutable делает класс неизменяемым, а конкретно:WAT?! Зачем вообще сеттеры Immutable-классу?
1. сеттеры кидают ReadOnlyPropertyException
container.getItems().add(item); item.setContainer(container);
class Container {
Items items;
Constructor() {
items = new Items(this);
}
}
class Items {
WeakReference<Container> container;
protected List<Item> internalItems = [];
Items(Container container) {
this.container = new WeakReference<Container>(container);
}
Item addItem(Item item) {
internalItems.add(item);
item.container = this.container.get();
}
}
class Item {
WeakReference<Container> container;
void setContainer(Container container) {
container.items.addItem(this)
}
}
container.items.addItem(new Item())
A не только переадресовать все вызовы экземпляру класса B, содержащемуся в классе A в кач-ве поля,A некий суперинтерфейс B,
Трансформации AST — Первый шаг к тяжёлым веществам