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

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

package com.arellomobile.mvp.viewstate.strategy;

import java.util.Iterator;
import java.util.List;

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

/**
 * Command will be added to end of commands queue. If commands queue contains same type command, then existing command will be removed.
 *
 * Date: 17.12.2015
 * Time: 11:24
 *
 * @author Yuri Shmakov
 */
public class AddToEndSingleStrategy implements StateStrategy {
	@Override
	public  void beforeApply(List> currentState, ViewCommand incomingCommand) {
		Iterator> iterator = currentState.iterator();

		while (iterator.hasNext()) {
			ViewCommand entry = iterator.next();

			if (entry.getClass() == incomingCommand.getClass()) {
				iterator.remove();
				break;
			}
		}

		currentState.add(incomingCommand);
	}

	@Override
	public  void afterApply(List> currentState, ViewCommand incomingCommand) {
		// pass
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy