1 //
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13
14 package net.sf.tacos.annotations;
15
16 import java.lang.annotation.ElementType;
17 import java.lang.annotation.Retention;
18 import java.lang.annotation.RetentionPolicy;
19 import java.lang.annotation.Target;
20
21 /**
22 * Annotation for injecting an ILink to a specific page,
23 * using the external service.<p/>
24 * Use it on an abstract page or component method that returns ILink.
25 * If the method has parameters, they'll be included in the ILink.
26 *
27 * @author Ming Jiang
28 * @author Andreas Andreou
29 */
30 @Target( { ElementType.METHOD })
31 @Retention(RetentionPolicy.RUNTIME)
32 public @interface InjectExternalLink {
33 /**
34 * The name of the page for which to inject the ILink.
35 * @return
36 */
37 String value();
38
39 /**
40 * Set to true if the page is to be found on the current namespace. Otherwise (the
41 * default), it is assumed to exist in the application (global) namespace.
42 * @return
43 */
44 boolean currentNamespace() default false;
45 }