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 to define that the object is embedded into the table of the
26 * owning object.
27 * Corresponds to the xml element "embedded".
28 *
29 * @version 2.1
30 * @since 2.1
31 */
32 @Target({ElementType.FIELD, ElementType.METHOD})
33 @Retention(RetentionPolicy.RUNTIME)
34 public @interface Embedded
35 {
36 /** The member in the embedded object that links back to the owning object
37 * where it has a bidirectional relationship.
38 * @return the member that refers to the owner
39 */
40 String ownerMember() default "";
41
42 /** The column in the embedded object used to judge if the embedded object
43 * is null.
44 * @return the null indicator column
45 */
46 String nullIndicatorColumn() default "";
47
48 /** The value in the null column to interpret the object as being null.
49 * @return the null indicator value
50 */
51 String nullIndicatorValue() default "";
52
53 /** Members for this embedding.
54 * @return the members embedded in the field or property being annotated
55 */
56 Persistent[] members() default {};
57 }