package org.tessell.presenter; /** Eagerly binds/unbinds a presenter for our parent. */ public class Slot<C extends Presenter> { private final BasicPresenter<?> parent; private C current; public Slot(final BasicPresenter<?> parent) { this.parent = parent; } public void set(final C presenter) { if (current == presenter) { return; } if (current != null) { parent.removePresenter(current); } current = presenter; parent.addPresenter(current); } public C get() { return current; } }