1 /**
2 * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica.
3 * Distribuicao e Gestao de Informatica, Lda. Estrada de Paco de Arcos num.9 -
4 * Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21
5 * 4408999 http://www.digitalis.pt
6 */
7 package pt.digitalis.dif.dem.annotations;
8
9 import java.lang.annotation.ElementType;
10 import java.lang.annotation.Retention;
11 import java.lang.annotation.RetentionPolicy;
12 import java.lang.annotation.Target;
13
14 import pt.digitalis.dif.dem.annotations.metaannotations.BindToPrimary;
15
16 /**
17 * This annotation is used to indicate that the element is registrable, that is, it can only be accessed by end-users
18 * that own a valid license. It can provide a default license name and thus will be automatically registered to that
19 * name.
20 *
21 * If the annotation is not used the application will be freely accessible, bound to the default "DIF
22 * auto-registration". If the annotation is used with a default registry name it will be unregistrable but associated to
23 * this name. If the annotation is used without a default registry name, it will be unregistered and thus inaccessible.
24 *
25 * <p>
26 *
27 * It can be used on any element annotated with one of the following:
28 * <ul>
29 * <li><code>@ProviderDefinition </code></li>
30 * <li><code>@ApplicationDefinition </code></li>
31 * <li><code>@ServiceDefinition </code></li>
32 * </ul>
33 *
34 * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
35 * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
36 * @created 2007/05/11
37 */
38 @Target(ElementType.TYPE)
39 @Retention(RetentionPolicy.RUNTIME)
40 @BindToPrimary( { "pt.digitalis.dif.dem.annotations.entities.ProviderDefinition",
41 "pt.digitalis.dif.dem.annotations.entities.ApplicationDefinition",
42 "pt.digitalis.dif.dem.annotations.entities.ServiceDefinition" })
43 public @interface Registrable {
44 /** The default name to which the element is registered in the registry */
45 String defaultRegisterName() default AnnotationTags.NONE;
46 }