package vandy.mooc.presenter;
import vandy.mooc.presenter.strategies.ImageStrategy;
import android.util.SparseArray;
/**
* Maps buttons (represented via their resource ids) to ImageStrategy
* implementations.
*/
public class ButtonToImageStrategyMapper {
/**
* SparseArray maps ints representing buttonIds to ImageStrategy
* objects.
*/
private SparseArray<ImageStrategy> mImageStrategyArray =
new SparseArray<ImageStrategy>();
/**
* Constructor initializes the field.
*/
public ButtonToImageStrategyMapper(int[] buttonIds,
ImageStrategy[] buttonStrategys) {
// Map buttons pushed by the user to the requested type of
// ImageStrategy.
for (int i = 0; i < buttonIds.length; ++i)
mImageStrategyArray.put(buttonIds[i],
buttonStrategys[i]);
}
/**
* Factory method that returns the request ImageStrategy
* implementation.
*/
public ImageStrategy getImageStrategy(int buttonId) {
// Return the designated ImageStrategy.
return mImageStrategyArray.get(buttonId);
}
}