package com.airbnb.epoxy; import java.util.List; /** * A helper class for {@link EpoxyController} to handle {@link * com.airbnb.epoxy.AutoModel} models. This is only implemented by the generated classes created the * annotation processor. */ public abstract class ControllerHelper<T extends EpoxyController> { public abstract void resetAutoModels(); protected void validateModelHashCodesHaveNotChanged(T controller) { List<EpoxyModel<?>> currentModels = controller.getAdapter().getCopyOfModels(); for (int i = 0; i < currentModels.size(); i++) { EpoxyModel model = currentModels.get(i); model.validateStateHasNotChangedSinceAdded( "Model has changed since it was added to the controller.", i); } } protected void setControllerToStageTo(EpoxyModel<?> model, T controller) { model.controllerToStageTo = controller; } }