package com.rayo.server.verb;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import com.rayo.core.verb.Verb;
import com.rayo.core.xml.XmlProviderManager;
public class DefaultVerbManager implements VerbManager {
private XmlProviderManager xmlProviderManager;
private Map<Class<? extends Verb>, VerbFactory> factoryMap = new ConcurrentHashMap<Class<? extends Verb>, VerbFactory>();
public void registerVerbFactory(VerbFactory factory) {
factoryMap.put(factory.getModelClass(), factory);
xmlProviderManager.register(factory.getXmlProvider());
}
public VerbFactory getVerbFactory(Class<? extends Verb> modelClass) {
return factoryMap.get(modelClass);
}
public void setXmlProviderManager(XmlProviderManager xmlProviderManager) {
this.xmlProviderManager = xmlProviderManager;
}
public XmlProviderManager getXmlProviderManager() {
return xmlProviderManager;
}
}