1 /* 2 * aTunes 3 * Copyright (C) Alex Aranda, Sylvain Gaudard and contributors 4 * 5 * See http://www.atunes.org/wiki/index.php?title=Contributing for information about contributors 6 * 7 * http://www.atunes.org 8 * http://sourceforge.net/projects/atunes 9 * 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License 12 * as published by the Free Software Foundation; either version 2 13 * of the License, or (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 */ 20 21 package net.sourceforge.atunes.kernel.modules.process; 22 23 import net.sourceforge.atunes.model.IProcess; 24 import net.sourceforge.atunes.model.IProcessFactory; 25 26 import org.springframework.context.ApplicationContext; 27 import org.springframework.context.ApplicationContextAware; 28 29 /** 30 * Implements a IProcessFactory using Spring beans 31 * 32 * @author alex 33 * 34 */ 35 public class ProcessFactory implements IProcessFactory, ApplicationContextAware { 36 37 private ApplicationContext context; 38 39 @Override setApplicationContext( final ApplicationContext applicationContext)40 public void setApplicationContext( 41 final ApplicationContext applicationContext) { 42 this.context = applicationContext; 43 } 44 45 @Override getProcessByName(final String processName)46 public IProcess<?> getProcessByName(final String processName) { 47 return this.context.getBean(processName, IProcess.class); 48 } 49 } 50