
website.automate.jwebrobot.mapper.action.ActionMapperProvider Maven / Gradle / Ivy
package website.automate.jwebrobot.mapper.action;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import com.google.inject.Inject;
import website.automate.jwebrobot.utils.Mapper;
import website.automate.waml.io.model.action.Action;
import website.automate.waml.io.model.action.ConditionalAction;
public class ActionMapperProvider {
private Map, ConditionalActionMapper extends ConditionalAction>> actionMapperMap = new HashMap<>();
@Inject
public ActionMapperProvider(Set> actionMappers){
for(ConditionalActionMapper extends ConditionalAction> actionMapper: actionMappers){
actionMapperMap.put(actionMapper.getSupportedType(), actionMapper);
}
}
@SuppressWarnings("unchecked")
public Mapper getInstance(Class actionClazz){
return (Mapper) actionMapperMap.get(actionClazz);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy