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 }