package play.modules.spring; import java.util.Map; import play.Play; import play.exceptions.UnexpectedException; public class Spring { public static Object getBean(String name) { if (SpringPlugin.applicationContext == null) { throw new SpringException(); } return SpringPlugin.applicationContext.getBean(name); } public static <T> T getBeanOfType(Class<T> type) { Map<String, Object> beans = getBeansOfType(type); if(beans.isEmpty()) { return null; } return (T)beans.values().iterator().next(); } public static Object getBeanOfType(String type) { try { return getBeanOfType(Play.classloader.loadClass(type)); } catch (ClassNotFoundException ex) { throw new UnexpectedException(ex); } } public static <T> Map<String, T> getBeansOfType(Class type) { if (SpringPlugin.applicationContext == null) { throw new SpringException(); } return SpringPlugin.applicationContext.getBeansOfType(type); } }