HiddenCreoleParameter.java
01 /*
02  *  HiddenCreoleParameter.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: HiddenCreoleParameter.java 16723 2013-07-05 10:37:59Z domrout $
14  */
15 
16 package gate.creole.metadata;
17 
18 import java.lang.annotation.Documented;
19 import java.lang.annotation.ElementType;
20 import java.lang.annotation.Retention;
21 import java.lang.annotation.RetentionPolicy;
22 import java.lang.annotation.Target;
23 
24 /**
25  * Annotation used to mark parameters that should not be inherited from
26  * superclasses.  By default, a {@link CreoleResource} inherits its parameter
27  * definitions from its superclasses and interfaces.  However, in some cases
28  * the superclass provides a parameter but the subclass does not want to expose
29  * that parameter directly (for example, it may calculate the parameter value
30  * some other way).  In this case, the subclass should override the
31  <code>set</code> method for that parameter and annotate the overridden
32  * method with this annotation.  GATE will then ignore the inherited parameter.
33  */
34 @Documented
35 @Target( {ElementType.METHOD, ElementType.FIELD})
36 @Retention(RetentionPolicy.RUNTIME)
37 public @interface HiddenCreoleParameter {}