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 inheritance of the class.
26 * Corresponds to the xml element "inheritance" of the "class"
27 * and "interface" elements.
28 *
29 * @version 2.1
30 * @since 2.1
31 */
32 @Target(ElementType.TYPE)
33 @Retention(RetentionPolicy.RUNTIME)
34 public @interface Inheritance
35 {
36 /** Strategy to use for inheritance. Specifies in which table(s)
37 * the members for the class are stored.
38 * @return the inheritance strategy
39 */
40 InheritanceStrategy strategy() default InheritanceStrategy.UNSPECIFIED;
41
42 /** Custom inheritance strategy. If customStrategy is non-empty, then
43 * strategy must be UNSPECIFIED.
44 * @return the custom inheritance strategy
45 */
46 String customStrategy() default "";
47 }