001package de.cuioss.test.jsf.config; 002 003import static java.lang.annotation.ElementType.TYPE; 004import static java.lang.annotation.RetentionPolicy.RUNTIME; 005 006import java.lang.annotation.Repeatable; 007import java.lang.annotation.Retention; 008import java.lang.annotation.Target; 009 010/** 011 * This annotations can be used to configure certain aspects of the 012 * configuration of the jsf-runtime for unit-testing. For simple cases the 013 * test-class can implement the corresponding interfaces itself: 014 * {@link ApplicationConfigurator}, {@link ComponentConfigurator}, 015 * {@link RequestConfigurator} or {@link BeanConfigurator}. The base-class will 016 * ensure that the corresponding methods will be called at setup-time. This is 017 * useful for cases, where there is no need to reuse a certain configuration. 018 * 019 * @author Oliver Wolff 020 */ 021@Retention(RUNTIME) 022@Target(TYPE) 023@Repeatable(JsfTestConfigurations.class) 024public @interface JsfTestConfiguration { 025 026 /** 027 * @return one or more concrete instances of {@link JsfTestContextConfigurator} 028 */ 029 Class<? extends JsfTestContextConfigurator>[] value(); 030 031}