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 }