All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.arellomobile.mvp.viewstate.strategy.StateStrategy Maven / Gradle / Ivy

The newest version!
package com.arellomobile.mvp.viewstate.strategy;

import com.arellomobile.mvp.MvpView;
import com.arellomobile.mvp.viewstate.ViewCommand;

import java.util.List;

/**
 * Cautions:
 * 
    *
  • Don't rearrange current state
  • *
  • Don't insert commands inside existing current state - only put to end of it
  • *
  • Be careful if remove commands by another type. If you make it, be sure that inside your view method you fully override view changes
  • *
* * Date: 17.12.2015 * Time: 11:21 * * @author Yuri Shmakov */ public interface StateStrategy { /** * Called immediately after * {@link com.arellomobile.mvp.viewstate.MvpViewState} receive some * command. Will not be called before re-apply to some other * {@link MvpView} * * @param currentState current state of * {@link com.arellomobile.mvp.viewstate.MvpViewState}. Each {@link ViewCommand} * contains self parameters. * @param incomingCommand command for apply to {@link MvpView} This * {@link ViewCommand} contains params of this command. * @param type of incoming view */ void beforeApply(List> currentState, ViewCommand incomingCommand); /** * Called immediately after command applied to {@link MvpView}. Also called * after re-apply to other views. * * @param currentState current state of * {@link com.arellomobile.mvp.viewstate.MvpViewState}. Each {@link ViewCommand} * contains self parameters. * @param incomingCommand applied command to {@link MvpView} This * {@link ViewCommand} contains params of this command. * @param type of incoming view */ void afterApply(List> currentState, ViewCommand incomingCommand); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy