package com.gettingmobile.net.mobilizer;
import java.util.HashMap;
import java.util.Map;
public class UrlMobilizerFactory {
private final Map<MobilizerImplementation, UrlMobilizer> mobilizers = new HashMap<MobilizerImplementation, UrlMobilizer>();
protected UrlMobilizer createMobilizer(MobilizerImplementation implementation) {
switch (implementation) {
case GOOGLE:
return new GoogleUrlMobilizer();
case READABILITY:
return new ReadabilityUrlMobilizer();
default:
return new NullUrlMobilizer();
}
}
public UrlMobilizer getMobilizer(MobilizerImplementation implementation) {
UrlMobilizer mobilizer = mobilizers.get(implementation);
if (mobilizer == null) {
mobilizer = createMobilizer(implementation);
mobilizers.put(implementation, mobilizer);
}
return mobilizer;
}
}