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.ForeignKeyAction;
20
21 /**
22 * Represents a key in a map.
23 */
24 public interface KeyMetadata extends Metadata {
25 /**
26 * Method to set the column name.
27 *
28 * @param column Column name
29 */
30 KeyMetadata setColumn(String column);
31
32 /**
33 * Accessor for the name of the column.
34 *
35 * @return The name
36 */
37 String getColumn();
38
39 /**
40 * Method to set the table name.
41 *
42 * @param table Table name
43 */
44 KeyMetadata setTable(String table);
45
46 /**
47 * Accessor for the name of the table.
48 *
49 * @return The name
50 */
51 String getTable();
52
53 /**
54 * Method to set the delete action of the FK
55 *
56 * @param action Delete action of the FK
57 */
58 KeyMetadata setDeleteAction(ForeignKeyAction action);
59
60 /**
61 * Accessor for the delete action of the FK
62 *
63 * @return The FK delete-action
64 */
65 ForeignKeyAction getDeleteAction();
66
67 /**
68 * Method to set the update action of the FK
69 *
70 * @param action Update action of the FK
71 */
72 KeyMetadata setUpdateAction(ForeignKeyAction action);
73
74 /**
75 * Accessor for the update action of the FK
76 *
77 * @return The FK update-action
78 */
79 ForeignKeyAction getUpdateAction();
80
81 /**
82 * Accessor for all column(s) defined on the key.
83 *
84 * @return The column(s)
85 */
86 ColumnMetadata[] getColumns();
87
88 /**
89 * Add a new column for this key.
90 *
91 * @return The ColumnMetadata
92 */
93 ColumnMetadata newColumnMetadata();
94
95 /**
96 * Accessor for the number of columns defined for this key.
97 *
98 * @return The number of columns
99 */
100 int getNumberOfColumns();
101
102 /**
103 * Method to set new embedded metadata for the key.
104 *
105 * @return The EmbeddedMetadata
106 */
107 EmbeddedMetadata newEmbeddedMetadata();
108
109 /**
110 * Accessor for any embedded metadata on this key
111 *
112 * @return The EmbeddedMetadata
113 */
114 EmbeddedMetadata getEmbeddedMetadata();
115
116 /**
117 * Method to set new index metadata for the key.
118 *
119 * @return The IndexMetadata
120 */
121 IndexMetadata newIndexMetadata();
122
123 /**
124 * Accessor for any index metadata on this key
125 *
126 * @return Index metadata
127 */
128 IndexMetadata getIndexMetadata();
129
130 /**
131 * Method to set new unique constraint metadata for the key
132 *
133 * @return The UniqueMetadata
134 */
135 UniqueMetadata newUniqueMetadata();
136
137 /**
138 * Accessor for any unique constraint metadata on this key.
139 *
140 * @return The UniqueMetadata
141 */
142 UniqueMetadata getUniqueMetadata();
143
144 /**
145 * Method to set new foreign key metadata for the key
146 *
147 * @return The ForeignKeyMetadata
148 */
149 ForeignKeyMetadata newForeignKeyMetadata();
150
151 /**
152 * Accessor for any foreign key metadata on this key.
153 *
154 * @return The ForeignKeyMetadata
155 */
156 ForeignKeyMetadata getForeignKeyMetadata();
157 }