1 /* Copyright (c) 2008 Sascha Kohlmann 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU Affero General Public License as published by 5 * the Free Software Foundation, either version 3 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU Affero General Public License for more details. 12 * 13 * You should have received a copy of the GNU Affero General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 package net.sf.eos.config; 17 18 import static java.lang.annotation.ElementType.TYPE; 19 import static java.lang.annotation.RetentionPolicy.RUNTIME; 20 21 import net.sf.eos.Experimental; 22 23 import java.lang.annotation.Retention; 24 import java.lang.annotation.Target; 25 26 /** 27 * Exports the usage of internal {@link Service Services}. Internal services 28 * may create thru a method, annotated with {@link FactoryMethod}. 29 * <p>The value of the {@code Services} annotation should be volatile between 30 * releases.</p> 31 * @author Sascha Kohlmann 32 */ 33 @Experimental 34 @Retention(value=RUNTIME) 35 @Target(value=TYPE) 36 public @interface Services { 37 38 /** The list of internal used services. */ 39 Service[] services(); 40 }