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 9845 2008-08-25 22:23:24Z ian_roberts $
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})
36 @Retention(RetentionPolicy.RUNTIME)
37 public @interface HiddenCreoleParameter {}
|