/*************************************************************************** * Copyright 2009-2012 by Christian Ihle * * kontakt@usikkert.net * * * * This file is part of KouInject. * * * * KouInject is free software; you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License as * * published by the Free Software Foundation, either version 3 of * * the License, or (at your option) any later version. * * * * KouInject is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with KouInject. * * If not, see <http://www.gnu.org/licenses/>. * ***************************************************************************/ package net.usikkert.kouinject.testbeans.scanned; import javax.inject.Inject; import javax.inject.Named; import net.usikkert.kouinject.annotation.Component; import net.usikkert.kouinject.testbeans.scanned.qualifier.Blue; import net.usikkert.kouinject.testbeans.scanned.qualifier.ColorBean; import net.usikkert.kouinject.testbeans.scanned.qualifier.Green; import net.usikkert.kouinject.testbeans.scanned.qualifier.Yellow; /** * Bean for testing injection of the correct implementation of an interface based on a qualifier. * * @author Christian Ihle */ @Component public class RainbowBean { @Inject @Blue private ColorBean blueBean; private final ColorBean greenBean; private final ColorBean redBean; private ColorBean yellowBean; @Inject public RainbowBean(@Green final ColorBean greenBean, @Named("red") final ColorBean redBean) { this.greenBean = greenBean; this.redBean = redBean; } @Inject public void setYellowBean(@Yellow final ColorBean yellowBean) { this.yellowBean = yellowBean; } public ColorBean getBlueBean() { return blueBean; } public ColorBean getGreenBean() { return greenBean; } public ColorBean getRedBean() { return redBean; } public ColorBean getYellowBean() { return yellowBean; } }