1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package javax.jdo.metadata;
18
19 import javax.jdo.annotations.InheritanceStrategy;
20
21 /**
22 * Represents the inheritance of a class.
23 * @since 3.0
24 */
25 public interface InheritanceMetadata extends Metadata {
26 /**
27 * Method to set the inheritance strategy.
28 *
29 * @param strategy The strategy
30 */
31 InheritanceMetadata setStrategy(InheritanceStrategy strategy);
32
33 /**
34 * Accessor for the inheritance strategy.
35 *
36 * @return The strategy
37 */
38 InheritanceStrategy getStrategy();
39
40 /**
41 * Method to set the custom inheritance strategy.
42 *
43 * @param strategy The strategy
44 */
45 InheritanceMetadata setCustomStrategy(String strategy);
46
47 /**
48 * Accessor for the custom inheritance (overriding "strategy").
49 *
50 * @return The strategy
51 */
52 String getCustomStrategy();
53
54 /**
55 * Method to define the new discriminator metadata.
56 *
57 * @return The DiscriminatorMetadata
58 */
59 DiscriminatorMetadata newDiscriminatorMetadata();
60
61 /**
62 * Accessor for the discriminator (if any).
63 *
64 * @return Discriminator
65 */
66 DiscriminatorMetadata getDiscriminatorMetadata();
67
68 /**
69 * Method to define the new join information
70 *
71 * @return The JoinMetadata
72 */
73 JoinMetadata newJoinMetadata();
74
75 /**
76 * Accessor for the join (if any).
77 *
78 * @return Join information
79 */
80 JoinMetadata getJoinMetadata();
81 }