package org.ow2.choreos.ee.nodes.cm;
import java.util.ArrayList;
import java.util.List;
public class UpdateHandlers {
private List<UpdateHandler> waitingHandlers = new ArrayList<UpdateHandler>();
private List<UpdateHandler> handlersForProcessing = new ArrayList<UpdateHandler>();
/**
* Adds a handler in wait state
*
* @param handler
*/
public void addHandler(UpdateHandler handler) {
waitingHandlers.add(handler);
}
/**
* Fetches all the waiting handlers, so they can be processed
*/
public void fetchHandlers() {
handlersForProcessing.addAll(waitingHandlers);
waitingHandlers = new ArrayList<UpdateHandler>();
}
/**
* Retrieves and removes previously fetched handlers
*
* @return
*/
public List<UpdateHandler> getHandlersForProcessing() {
List<UpdateHandler> result = handlersForProcessing;
handlersForProcessing = new ArrayList<UpdateHandler>();
return result;
}
}