package com.trendmicro.tme.grapheditor; import java.util.Map; import com.sun.jersey.core.spi.component.ComponentContext; import com.sun.jersey.core.spi.component.ComponentScope; import com.sun.jersey.core.spi.component.ioc.IoCComponentProvider; import com.sun.jersey.core.spi.component.ioc.IoCComponentProviderFactory; import com.sun.jersey.core.spi.component.ioc.IoCFullyManagedComponentProvider; public class IocProviderFactory implements IoCComponentProviderFactory { private Map<Class<?>, Object> classMap; public IocProviderFactory(Map<Class<?>, Object> classMap) { this.classMap = classMap; } @Override public IoCComponentProvider getComponentProvider(Class<?> c) { final Object o = classMap.get(c); if(o == null) { return null; } return new IoCFullyManagedComponentProvider() { @Override public Object getInstance() { return o; } @Override public ComponentScope getScope() { return ComponentScope.Singleton; } }; } @Override public IoCComponentProvider getComponentProvider(ComponentContext cc, Class<?> c) { return getComponentProvider(c); } }