AutoInstance.java
01 /*
02  *  AutoInstance.java
03  *
04  *  Copyright (c) 2008, The University of Sheffield.
05  *
06  *  This file is part of GATE (see http://gate.ac.uk/), and is free
07  *  software, licenced under the GNU Library General Public License,
08  *  Version 2, June 1991 (in the distribution as file licence.html,
09  *  and also available at http://gate.ac.uk/gate/licence.html).
10  *
11  *  Ian Roberts, 27/Jul/2008
12  *
13  *  $Id: AutoInstance.java 9845 2008-08-25 22:23:24Z ian_roberts $
14  */
15 
16 package gate.creole.metadata;
17 
18 import java.lang.annotation.Retention;
19 import java.lang.annotation.RetentionPolicy;
20 import java.lang.annotation.Target;
21 
22 /**
23  * Annotation used to define an instance of a resource that is created
24  * automatically when the plugin is loaded. This annotation is used as a
25  * parameter in {@link CreoleResource#autoinstances()}.
26  */
27 @Target( {})
28 @Retention(RetentionPolicy.RUNTIME)
29 public @interface AutoInstance {
30   /**
31    * Parameter values for this auto-instance. If not specified, the
32    * default values are used.
33    */
34   AutoInstanceParam[] parameters() default {};
35 
36   /**
37    * Should this auto-instance be hidden in the GUI (true) or should it
38    * display just like a manually-created instance (false)?
39    */
40   boolean hidden() default false;
41 }