1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package de.bea.domingo;
24
25 import java.util.List;
26
27 /***
28 * Represents a form in a database.
29 *
30 * @author <a href="mailto:kriede@users.sourceforge.net">Kurt Riede</a>
31 */
32 public interface DForm extends DBase {
33
34 /***
35 * Returns the aliases of a form. This property returns all but the first in
36 * the list of all the form's names. The Name property returns the first
37 * name in the list.
38 *
39 * @return list of aliases
40 */
41 List getAliases();
42
43 /***
44 * Returns the names of all the fields of a form.
45 *
46 * @return list of field names
47 */
48 List getFields();
49
50 /***
51 * Returns the contents of the $FormUsers field.
52 *
53 * @return list of names
54 */
55 List getFormUsers();
56
57 /***
58 * Sets the contents of the $FormUsers field.
59 *
60 * @param users list of user names
61 */
62 void setFormUsers(List users);
63
64 /***
65 * Return the name of a form.
66 *
67 * @return name of the form
68 */
69 String getName();
70
71 /***
72 * Returns the contents of the $Readers field.
73 *
74 * @return list of reader names
75 */
76 List getReaders();
77
78 /***
79 * Sets the contents of the $Readers field.
80 *
81 * @param readers list of reader names
82 */
83 void setReaders(List readers);
84
85 /***
86 * Indicates whether a form is a subform.
87 *
88 * @return <code>true</code> if the form is a subform, else
89 * <code>false</code>
90 */
91 boolean isSubForm();
92
93 /***
94 * Returns if the $Readers items is protected from being overwritten by
95 * replication.
96 *
97 * @return <code>true</code> to protect $Readers, else <code>false</code>
98 */
99 boolean isProtectReaders();
100
101 /***
102 * Sets if the $Readers items is protected from being overwritten by
103 * replication.
104 *
105 * @param flag <code>true</code> to protect $Readers, else
106 * <code>false</code>
107 */
108 void setProtectReaders(boolean flag);
109
110 /***
111 * Returns if the $FormUsers items is protected from being overwritten by
112 * replication.
113 *
114 * @return <code>true</code> to protect $FormUsers, else
115 * <code>false</code>
116 */
117 boolean isProtectUsers();
118
119 /***
120 * Sets if the $FormUsers items is protected from being overwritten by
121 * replication.
122 *
123 * @param flag <code>true</code> to protect $FormUsers, else
124 * <code>false</code>
125 */
126 void setProtectUsers(boolean flag);
127
128 /***
129 * Permanently deletes a form from a database.
130 */
131 void remove();
132
133 /***
134 * Returns the Domino URL for the form.
135 *
136 * @return URL
137 */
138 String getURL();
139
140 /***
141 * Returns the Domino URL of a form when Notes protocols are in effect. If
142 * Notes protocols are not available, this property returns an empty string.
143 *
144 * @return Domino URL of a form
145 * @since Lotus Notes Release 6.5.
146 */
147 String getNotesURL();
148
149 /***
150 * Returns the Domino URL of a form when HTTP protocols are in effect.
151 *
152 * @return Http URL of a form
153 * @since Lotus Notes Release 6.5.
154 */
155 String getHttpURL();
156
157 /***
158 * Gets the type of a field on the form.
159 *
160 * @see DItem#getType()
161 * @param fieldName field name
162 * @return type of the field
163 */
164 int getFieldType(String fieldName);
165
166 /***
167 * Returns the names of the holders of a lock.
168 *
169 * @return list of name strings
170 * @since Lotus Notes Release 6.5.
171 */
172 List getLockHolders();
173
174 /***
175 * Locks a form.
176 *
177 * @return <code>true</code> if the lock is placed, else
178 * <code>false</code>
179 * @since Lotus Notes Release 6.5.
180 */
181 boolean lock();
182
183 /***
184 * Locks a form. The lock holder defaults to the effective user.
185 *
186 * @param provisionalok <code>true</code> to permit the placement of a
187 * provisional lock
188 * @return <code>true</code> if the lock is placed, else
189 * <code>false</code>
190 * @since Lotus Notes Release 6.5.
191 */
192 boolean lock(boolean provisionalok);
193
194 /***
195 * Locks a form. The holder must be a user or group. Defaults to the
196 * effective user. The empty string ("") is not permitted.
197 *
198 * @param name name of the lock holder.
199 * @return <code>true</code> if the lock is placed, else
200 * <code>false</code>
201 * @since Lotus Notes Release 6.5.
202 */
203 boolean lock(String name);
204
205 /***
206 * Locks a form. The lock holder must be a user or group. Defaults to the
207 * effective user. The empty string ("") is not permitted.
208 *
209 * @param name name of the lock holder.
210 * @param provisionalok <code>true</code> to permit the placement of a
211 * provisional lock
212 * @return <code>true</code> if the lock is placed, else
213 * <code>false</code>
214 * @since Lotus Notes Release 6.5.
215 */
216 boolean lock(String name, boolean provisionalok);
217
218 /***
219 * Locks a form.
220 *
221 * @param names list of name strings
222 * @return <code>true</code> if the lock is placed, else
223 * <code>false</code>
224 * @since Lotus Notes Release 6.5.
225 */
226 boolean lock(List names);
227
228 /***
229 * Locks a form. The lock holder must be a user or group. Defaults to one
230 * lock holder: the effective user. The empty string ("") is not permitted.
231 *
232 * @param names names of the lock holders
233 * @param provisionalok <code>true</code> to permit the placement of a
234 * provisional lock
235 * @return <code>true</code> if the lock is placed, else
236 * <code>false</code>
237 * @since Lotus Notes Release 6.5.
238 */
239 boolean lock(List names, boolean provisionalok);
240
241 /***
242 * @return <code>true</code> if the lock is placed, else
243 * <code>false</code>
244 * @since Lotus Notes Release 6.5.
245 */
246 boolean lockProvisional();
247
248 /***
249 * @param name name of the lock holder.
250 * @return <code>true</code> if the lock is placed, else
251 * <code>false</code>
252 * @since Lotus Notes Release 6.5.
253 */
254 boolean lockProvisional(String name);
255
256 /***
257 * Locks a form provisionally.
258 *
259 * @since Lotus Notes Release 6.5.
260 * @param names names list of name strings
261 * @return <code>true</code> if the lock is placed, else
262 * <code>false</code>
263 * @since Lotus Notes Release 6.5.
264 */
265 boolean lockProvisional(List names);
266
267 /***
268 * Unlocks a form.
269 *
270 * @since Lotus Notes Release 6.5.
271 */
272 void unlock();
273 }