package org.oddjob.monitor.actions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* An {@link ActionProvider} that provides accumulates
* of other <code>ActionProviders<code>s.
*
* @author rob
*
*/
public class AccumulatingActionProvider implements ActionProvider {
/** The providers. */
private List<ActionProvider> providers =
new ArrayList<ActionProvider>();
/**
* Add a provider.
*
* @param provider
*/
public void addProvider(ActionProvider provider) {
providers.add(provider);
}
public ExplorerAction[] getExplorerActions() {
List<ExplorerAction> results =
new ArrayList<ExplorerAction>();
for (ActionProvider provider : providers ) {
results.addAll(Arrays.asList(provider.getExplorerActions()));
}
return results.toArray(new ExplorerAction[results.size()]);
}
}