1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package javax.jdo.annotations;
18
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 for the fetch group of a class.
26 * Corresponds to the xml element "fetch-group".
27 *
28 * @version 2.1
29 * @since 2.1
30 */
31 @Target(ElementType.TYPE)
32 @Retention(RetentionPolicy.RUNTIME)
33 public @interface FetchGroup
34 {
35 /**
36 * Name of the fetch group.
37 * @return the name of the fetch group
38 */
39 String name() default "";
40
41 /**
42 * Whether we should load this group as part of the post load process.
43 * @return whether we should load this group as part of the post load
44 * process.
45 */
46 String postLoad() default "";
47
48 /**
49 * Members (fields and properties) of the fetch group. The members
50 * should contain only name and recursionDepth.
51 * @return members for the fetch group
52 */
53 Persistent[] members();
54
55 /**
56 * Fetch groups to be nested (included) in this fetch group.
57 */
58 String[] fetchGroups() default {};
59 }