1 // Do not edit this file! It was generated by Melati POEM's DSD preprocessor.
2
3 package org.paneris.melati.site.model.generated;
4
5
6 import java.sql.Date;
7 import org.melati.poem.AccessPoemException;
8 import org.melati.poem.Column;
9 import org.melati.poem.Field;
10 import org.melati.poem.JdbcPersistent;
11 import org.melati.poem.NoSuchRowPoemException;
12 import org.melati.poem.User;
13 import org.melati.poem.ValidationPoemException;
14 import org.paneris.melati.site.model.SiteDatabaseTables;
15 import org.paneris.melati.site.model.UploadedFileTable;
16 import org.paneris.melati.site.model.UploadedFileType;
17
18
19 /**
20 * Melati POEM generated abstract base class for a <code>Persistent</code>
21 * <code>UploadedFile</code> Object.
22 *
23 * @see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
24 */
25 public abstract class UploadedFileBase extends JdbcPersistent {
26
27
28 /**
29 * Retrieves the Database object.
30 *
31 * @see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
32 * @return the database
33 */
34 public SiteDatabaseTables getSiteDatabaseTables() {
35 return (SiteDatabaseTables)getDatabase();
36 }
37
38
39 /**
40 * Retrieves the <code>UploadedFileTable</code> table
41 * which this <code>Persistent</code> is from.
42 *
43 * @see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
44 * @return the UploadedFileTable
45 */
46 public UploadedFileTable getUploadedFileTable() {
47 return (UploadedFileTable)getTable();
48 }
49
50 private UploadedFileTable _getUploadedFileTable() {
51 return (UploadedFileTable)getTable();
52 }
53
54 // Fields in this table
55 /**
56 * type - The type of this file
57 */
58 protected Integer type;
59 /**
60 * description - A description of the file
61 */
62 protected String description;
63 /**
64 * size - The size of this file
65 */
66 protected Integer size;
67 /**
68 * when - The date on which this file was uploaded
69 */
70 protected Date when;
71 /**
72 * Uploaded By - The user who uploaded this file
73 */
74 protected Integer uploadedby;
75 /**
76 * deleted - Whether this file been deleted or not
77 */
78 protected Boolean deleted;
79 /**
80 * Display name - The layout's name
81 */
82 protected String displayname;
83
84
85 /**
86 * Retrieves the <code>Type</code> value, without locking,
87 * for this <code>UploadedFile</code> <code>Persistent</code>.
88 *
89 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
90 * @return the Integer type
91 */
92 public Integer getType_unsafe() {
93 return type;
94 }
95
96
97 /**
98 * Sets the <code>Type</code> value directly, without checking,
99 * for this UploadedFile <code>Persistent</code>.
100 *
101 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
102 * @param cooked the pre-validated value to set
103 */
104 public void setType_unsafe(Integer cooked) {
105 type = cooked;
106 }
107
108 /**
109 * Retrieves the Table Row Object ID.
110 *
111 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
112 * @throws AccessPoemException
113 * if the current <code>AccessToken</code>
114 * does not confer read access rights
115 * @return the TROID as an <code>Integer</code>
116 */
117
118 public Integer getTypeTroid()
119 throws AccessPoemException {
120 readLock();
121 return getType_unsafe();
122 }
123
124
125 /**
126 * Sets the Table Row Object ID.
127 *
128 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
129 * @param raw a Table Row Object Id
130 * @throws AccessPoemException
131 * if the current <code>AccessToken</code>
132 * does not confer write access rights
133 */
134 public void setTypeTroid(Integer raw)
135 throws AccessPoemException {
136 setType(raw == null ? null :
137 getSiteDatabaseTables().getUploadedFileTypeTable().getUploadedFileTypeObject(raw));
138 }
139
140
141 /**
142 * Retrieves the <code>Type</code> object referred to.
143 *
144 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
145 * @throws AccessPoemException
146 * if the current <code>AccessToken</code>
147 * does not confer read access rights
148 * @throws NoSuchRowPoemException
149 * if the <code>Persistent</code> has yet to be allocated a TROID
150 * @return the <code>Type</code> as a <code>UploadedFileType</code>
151 */
152 public UploadedFileType getType()
153 throws AccessPoemException, NoSuchRowPoemException {
154 Integer troid = getTypeTroid();
155 return troid == null ? null :
156 getSiteDatabaseTables().getUploadedFileTypeTable().getUploadedFileTypeObject(troid);
157 }
158
159
160 /**
161 * Set the Type.
162 *
163 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
164 * @param cooked a validated <code>UploadedFileType</code>
165 * @throws AccessPoemException
166 * if the current <code>AccessToken</code>
167 * does not confer write access rights
168 */
169 public void setType(UploadedFileType cooked)
170 throws AccessPoemException {
171 _getUploadedFileTable().
172 getTypeColumn().
173 getType().assertValidCooked(cooked);
174 writeLock();
175 if (cooked == null)
176 setType_unsafe(null);
177 else {
178 cooked.existenceLock();
179 setType_unsafe(cooked.troid());
180 }
181 }
182
183
184 /**
185 * Retrieves the <code>Type</code> value as a <code>Field</code>
186 * from this <code>UploadedFile</code> <code>Persistent</code>.
187 *
188 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
189 * @throws AccessPoemException
190 * if the current <code>AccessToken</code>
191 * does not confer write access rights
192 * @return the Integer type
193 */
194 public Field getTypeField() throws AccessPoemException {
195 Column c = _getUploadedFileTable().getTypeColumn();
196 return new Field(c.getRaw(this), c);
197 }
198
199
200 /**
201 * Retrieves the <code>Description</code> value, without locking,
202 * for this <code>UploadedFile</code> <code>Persistent</code>.
203 *
204 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
205 * @return the String description
206 */
207 public String getDescription_unsafe() {
208 return description;
209 }
210
211
212 /**
213 * Sets the <code>Description</code> value directly, without checking,
214 * for this UploadedFile <code>Persistent</code>.
215 *
216 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
217 * @param cooked the pre-validated value to set
218 */
219 public void setDescription_unsafe(String cooked) {
220 description = cooked;
221 }
222
223 /**
224 * Retrieves the Description value, with locking, for this
225 * <code>UploadedFile</code> <code>Persistent</code>.
226 * Field description:
227 * A description of the file
228 *
229 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
230 * @throws AccessPoemException
231 * if the current <code>AccessToken</code>
232 * does not confer write access rights
233 * @return the value of the field <code>Description</code> for this
234 * <code>UploadedFile</code> <code>Persistent</code>
235 */
236
237 public String getDescription()
238 throws AccessPoemException {
239 readLock();
240 return getDescription_unsafe();
241 }
242
243
244 /**
245 * Sets the <code>Description</code> value, with checking, for this
246 * <code>UploadedFile</code> <code>Persistent</code>.
247 * Field description:
248 * A description of the file
249 *
250 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
251 * @param cooked a validated <code>int</code>
252 * @throws AccessPoemException
253 * if the current <code>AccessToken</code>
254 * does not confer write access rights
255 * @throws ValidationPoemException
256 * if the value is not valid
257 */
258 public void setDescription(String cooked)
259 throws AccessPoemException, ValidationPoemException {
260 _getUploadedFileTable().getDescriptionColumn().
261 getType().assertValidCooked(cooked);
262 writeLock();
263 setDescription_unsafe(cooked);
264 }
265
266
267 /**
268 * Retrieves the <code>Description</code> value as a <code>Field</code>
269 * from this <code>UploadedFile</code> <code>Persistent</code>.
270 *
271 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
272 * @throws AccessPoemException
273 * if the current <code>AccessToken</code>
274 * does not confer write access rights
275 * @return the String description
276 */
277 public Field getDescriptionField() throws AccessPoemException {
278 Column c = _getUploadedFileTable().getDescriptionColumn();
279 return new Field(c.getRaw(this), c);
280 }
281
282
283 /**
284 * Retrieves the <code>Size</code> value, without locking,
285 * for this <code>UploadedFile</code> <code>Persistent</code>.
286 *
287 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
288 * @return the Integer size
289 */
290 public Integer getSize_unsafe() {
291 return size;
292 }
293
294
295 /**
296 * Sets the <code>Size</code> value directly, without checking,
297 * for this UploadedFile <code>Persistent</code>.
298 *
299 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
300 * @param cooked the pre-validated value to set
301 */
302 public void setSize_unsafe(Integer cooked) {
303 size = cooked;
304 }
305
306 /**
307 * Retrieves the Size value, with locking, for this
308 * <code>UploadedFile</code> <code>Persistent</code>.
309 * Field description:
310 * The size of this file
311 *
312 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
313 * @throws AccessPoemException
314 * if the current <code>AccessToken</code>
315 * does not confer write access rights
316 * @return the value of the field <code>Size</code> for this
317 * <code>UploadedFile</code> <code>Persistent</code>
318 */
319
320 public Integer getSize()
321 throws AccessPoemException {
322 readLock();
323 return getSize_unsafe();
324 }
325
326
327 /**
328 * Sets the <code>Size</code> value, with checking, for this
329 * <code>UploadedFile</code> <code>Persistent</code>.
330 * Field description:
331 * The size of this file
332 *
333 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
334 * @param cooked a validated <code>int</code>
335 * @throws AccessPoemException
336 * if the current <code>AccessToken</code>
337 * does not confer write access rights
338 * @throws ValidationPoemException
339 * if the value is not valid
340 */
341 public void setSize(Integer cooked)
342 throws AccessPoemException, ValidationPoemException {
343 _getUploadedFileTable().getSizeColumn().
344 getType().assertValidCooked(cooked);
345 writeLock();
346 setSize_unsafe(cooked);
347 }
348
349 /**
350 * Sets the <code>Size</code> value, with checking, for this
351 * <code>UploadedFile</code> <code>Persistent</code>.
352 * Field description:
353 * The size of this file
354 *
355 *
356 * @generator org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods
357 * @param cooked a validated <code>int</code>
358 * @throws AccessPoemException
359 * if the current <code>AccessToken</code>
360 * does not confer write access rights
361 * @throws ValidationPoemException
362 * if the value is not valid
363 */
364
365 public final void setSize(int cooked)
366 throws AccessPoemException, ValidationPoemException {
367 setSize(new Integer(cooked));
368 }
369
370
371 /**
372 * Retrieves the <code>Size</code> value as a <code>Field</code>
373 * from this <code>UploadedFile</code> <code>Persistent</code>.
374 *
375 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
376 * @throws AccessPoemException
377 * if the current <code>AccessToken</code>
378 * does not confer write access rights
379 * @return the Integer size
380 */
381 public Field getSizeField() throws AccessPoemException {
382 Column c = _getUploadedFileTable().getSizeColumn();
383 return new Field(c.getRaw(this), c);
384 }
385
386
387 /**
388 * Retrieves the <code>When</code> value, without locking,
389 * for this <code>UploadedFile</code> <code>Persistent</code>.
390 *
391 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
392 * @return the Date when
393 */
394 public Date getWhen_unsafe() {
395 return when;
396 }
397
398
399 /**
400 * Sets the <code>When</code> value directly, without checking,
401 * for this UploadedFile <code>Persistent</code>.
402 *
403 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
404 * @param cooked the pre-validated value to set
405 */
406 public void setWhen_unsafe(Date cooked) {
407 when = cooked;
408 }
409
410 /**
411 * Retrieves the When value, with locking, for this
412 * <code>UploadedFile</code> <code>Persistent</code>.
413 * Field description:
414 * The date on which this file was uploaded
415 *
416 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
417 * @throws AccessPoemException
418 * if the current <code>AccessToken</code>
419 * does not confer write access rights
420 * @return the value of the field <code>When</code> for this
421 * <code>UploadedFile</code> <code>Persistent</code>
422 */
423
424 public Date getWhen()
425 throws AccessPoemException {
426 readLock();
427 return getWhen_unsafe();
428 }
429
430
431 /**
432 * Sets the <code>When</code> value, with checking, for this
433 * <code>UploadedFile</code> <code>Persistent</code>.
434 * Field description:
435 * The date on which this file was uploaded
436 *
437 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
438 * @param cooked a validated <code>int</code>
439 * @throws AccessPoemException
440 * if the current <code>AccessToken</code>
441 * does not confer write access rights
442 * @throws ValidationPoemException
443 * if the value is not valid
444 */
445 public void setWhen(Date cooked)
446 throws AccessPoemException, ValidationPoemException {
447 _getUploadedFileTable().getWhenColumn().
448 getType().assertValidCooked(cooked);
449 writeLock();
450 setWhen_unsafe(cooked);
451 }
452
453
454 /**
455 * Retrieves the <code>When</code> value as a <code>Field</code>
456 * from this <code>UploadedFile</code> <code>Persistent</code>.
457 *
458 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
459 * @throws AccessPoemException
460 * if the current <code>AccessToken</code>
461 * does not confer write access rights
462 * @return the Date when
463 */
464 public Field getWhenField() throws AccessPoemException {
465 Column c = _getUploadedFileTable().getWhenColumn();
466 return new Field(c.getRaw(this), c);
467 }
468
469
470 /**
471 * Retrieves the <code>Uploadedby</code> value, without locking,
472 * for this <code>UploadedFile</code> <code>Persistent</code>.
473 *
474 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
475 * @return the Integer uploadedby
476 */
477 public Integer getUploadedby_unsafe() {
478 return uploadedby;
479 }
480
481
482 /**
483 * Sets the <code>Uploadedby</code> value directly, without checking,
484 * for this UploadedFile <code>Persistent</code>.
485 *
486 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
487 * @param cooked the pre-validated value to set
488 */
489 public void setUploadedby_unsafe(Integer cooked) {
490 uploadedby = cooked;
491 }
492
493 /**
494 * Retrieves the Table Row Object ID.
495 *
496 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
497 * @throws AccessPoemException
498 * if the current <code>AccessToken</code>
499 * does not confer read access rights
500 * @return the TROID as an <code>Integer</code>
501 */
502
503 public Integer getUploadedbyTroid()
504 throws AccessPoemException {
505 readLock();
506 return getUploadedby_unsafe();
507 }
508
509
510 /**
511 * Sets the Table Row Object ID.
512 *
513 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
514 * @param raw a Table Row Object Id
515 * @throws AccessPoemException
516 * if the current <code>AccessToken</code>
517 * does not confer write access rights
518 */
519 public void setUploadedbyTroid(Integer raw)
520 throws AccessPoemException {
521 setUploadedby(raw == null ? null :
522 getSiteDatabaseTables().getUserTable().getUserObject(raw));
523 }
524
525
526 /**
527 * Retrieves the <code>Uploadedby</code> object referred to.
528 *
529 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
530 * @throws AccessPoemException
531 * if the current <code>AccessToken</code>
532 * does not confer read access rights
533 * @throws NoSuchRowPoemException
534 * if the <code>Persistent</code> has yet to be allocated a TROID
535 * @return the <code>Uploadedby</code> as a <code>User</code>
536 */
537 public User getUploadedby()
538 throws AccessPoemException, NoSuchRowPoemException {
539 Integer troid = getUploadedbyTroid();
540 return troid == null ? null :
541 getSiteDatabaseTables().getUserTable().getUserObject(troid);
542 }
543
544
545 /**
546 * Set the Uploadedby.
547 *
548 * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
549 * @param cooked a validated <code>User</code>
550 * @throws AccessPoemException
551 * if the current <code>AccessToken</code>
552 * does not confer write access rights
553 */
554 public void setUploadedby(User cooked)
555 throws AccessPoemException {
556 _getUploadedFileTable().
557 getUploadedbyColumn().
558 getType().assertValidCooked(cooked);
559 writeLock();
560 if (cooked == null)
561 setUploadedby_unsafe(null);
562 else {
563 cooked.existenceLock();
564 setUploadedby_unsafe(cooked.troid());
565 }
566 }
567
568
569 /**
570 * Retrieves the <code>Uploadedby</code> value as a <code>Field</code>
571 * from this <code>UploadedFile</code> <code>Persistent</code>.
572 *
573 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
574 * @throws AccessPoemException
575 * if the current <code>AccessToken</code>
576 * does not confer write access rights
577 * @return the Integer uploadedby
578 */
579 public Field getUploadedbyField() throws AccessPoemException {
580 Column c = _getUploadedFileTable().getUploadedbyColumn();
581 return new Field(c.getRaw(this), c);
582 }
583
584
585 /**
586 * Retrieves the <code>Deleted</code> value, without locking,
587 * for this <code>UploadedFile</code> <code>Persistent</code>.
588 *
589 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
590 * @return the Boolean deleted
591 */
592 public Boolean getDeleted_unsafe() {
593 return deleted;
594 }
595
596
597 /**
598 * Sets the <code>Deleted</code> value directly, without checking,
599 * for this UploadedFile <code>Persistent</code>.
600 *
601 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
602 * @param cooked the pre-validated value to set
603 */
604 public void setDeleted_unsafe(Boolean cooked) {
605 deleted = cooked;
606 }
607
608 /**
609 * Retrieves the Deleted value, with locking, for this
610 * <code>UploadedFile</code> <code>Persistent</code>.
611 * Field description:
612 * Whether this file been deleted or not
613 *
614 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
615 * @throws AccessPoemException
616 * if the current <code>AccessToken</code>
617 * does not confer write access rights
618 * @return the value of the field <code>Deleted</code> for this
619 * <code>UploadedFile</code> <code>Persistent</code>
620 */
621
622 public Boolean getDeleted()
623 throws AccessPoemException {
624 readLock();
625 return getDeleted_unsafe();
626 }
627
628
629 /**
630 * Sets the <code>Deleted</code> value, with checking, for this
631 * <code>UploadedFile</code> <code>Persistent</code>.
632 * Field description:
633 * Whether this file been deleted or not
634 *
635 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
636 * @param cooked a validated <code>int</code>
637 * @throws AccessPoemException
638 * if the current <code>AccessToken</code>
639 * does not confer write access rights
640 * @throws ValidationPoemException
641 * if the value is not valid
642 */
643 public void setDeleted(Boolean cooked)
644 throws AccessPoemException, ValidationPoemException {
645 _getUploadedFileTable().getDeletedColumn().
646 getType().assertValidCooked(cooked);
647 writeLock();
648 setDeleted_unsafe(cooked);
649 }
650
651 /**
652 * Sets the <code>Deleted</code> value, with checking,
653 * from a <code>boolean</code>, for this
654 * <code>UploadedFile</code> <code>Persistent</code>.
655 * Field description:
656 * Whether this file been deleted or not
657 *
658 *
659 * @generator org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods
660 * @param cooked a <code>boolean</code>
661 * @throws AccessPoemException
662 * if the current <code>AccessToken</code>
663 * does not confer write access rights
664 * @throws ValidationPoemException
665 * if the value is not valid
666 */
667
668 public final void setDeleted(boolean cooked)
669 throws AccessPoemException, ValidationPoemException {
670 setDeleted(cooked ? Boolean.TRUE : Boolean.FALSE);
671 }
672
673
674 /**
675 * Retrieves the <code>Deleted</code> value as a <code>Field</code>
676 * from this <code>UploadedFile</code> <code>Persistent</code>.
677 *
678 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
679 * @throws AccessPoemException
680 * if the current <code>AccessToken</code>
681 * does not confer write access rights
682 * @return the Boolean deleted
683 */
684 public Field getDeletedField() throws AccessPoemException {
685 Column c = _getUploadedFileTable().getDeletedColumn();
686 return new Field(c.getRaw(this), c);
687 }
688
689
690 /**
691 * Retrieves the <code>Displayname</code> value, without locking,
692 * for this <code>UploadedFile</code> <code>Persistent</code>.
693 *
694 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
695 * @return the String displayname
696 */
697 public String getDisplayname_unsafe() {
698 return displayname;
699 }
700
701
702 /**
703 * Sets the <code>Displayname</code> value directly, without checking,
704 * for this UploadedFile <code>Persistent</code>.
705 *
706 * @see org.melati.poem.prepro.FieldDef#generateBaseMethods
707 * @param cooked the pre-validated value to set
708 */
709 public void setDisplayname_unsafe(String cooked) {
710 displayname = cooked;
711 }
712
713 /**
714 * Retrieves the Displayname value, with locking, for this
715 * <code>UploadedFile</code> <code>Persistent</code>.
716 * Field description:
717 * The layout's name
718 *
719 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
720 * @throws AccessPoemException
721 * if the current <code>AccessToken</code>
722 * does not confer write access rights
723 * @return the value of the field <code>Displayname</code> for this
724 * <code>UploadedFile</code> <code>Persistent</code>
725 */
726
727 public String getDisplayname()
728 throws AccessPoemException {
729 readLock();
730 return getDisplayname_unsafe();
731 }
732
733
734 /**
735 * Sets the <code>Displayname</code> value, with checking, for this
736 * <code>UploadedFile</code> <code>Persistent</code>.
737 * Field description:
738 * The layout's name
739 *
740 * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
741 * @param cooked a validated <code>int</code>
742 * @throws AccessPoemException
743 * if the current <code>AccessToken</code>
744 * does not confer write access rights
745 * @throws ValidationPoemException
746 * if the value is not valid
747 */
748 public void setDisplayname(String cooked)
749 throws AccessPoemException, ValidationPoemException {
750 _getUploadedFileTable().getDisplaynameColumn().
751 getType().assertValidCooked(cooked);
752 writeLock();
753 setDisplayname_unsafe(cooked);
754 }
755
756
757 /**
758 * Retrieves the <code>Displayname</code> value as a <code>Field</code>
759 * from this <code>UploadedFile</code> <code>Persistent</code>.
760 *
761 * @see org.melati.poem.prepro.FieldDef#generateFieldCreator
762 * @throws AccessPoemException
763 * if the current <code>AccessToken</code>
764 * does not confer write access rights
765 * @return the String displayname
766 */
767 public Field getDisplaynameField() throws AccessPoemException {
768 Column c = _getUploadedFileTable().getDisplaynameColumn();
769 return new Field(c.getRaw(this), c);
770 }
771 }
772