View Javadoc

1   /*
2    * This file is part of Domingo
3    * an Open Source Java-API to Lotus Notes/Domino
4    * hosted at http://domingo.sourceforge.net
5    *
6    * Copyright (c) 2003-2007 Beck et al. projects GmbH Munich, Germany (http://www.bea.de)
7    *
8    * This library is free software; you can redistribute it and/or
9    * modify it under the terms of the GNU Lesser General Public
10   * License as published by the Free Software Foundation; either
11   * version 2.1 of the License, or (at your option) any later version.
12   *
13   * This library is distributed in the hope that it will be useful,
14   * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16   * Lesser General Public License for more details.
17   *
18   * You should have received a copy of the GNU Lesser General Public
19   * License along with this library; if not, write to the Free Software
20   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21   */
22  
23  package de.bea.domingo;
24  
25  /***
26   * Represents a column in a view or folder.
27   *
28   * @author <a href=mailto:kriede@users.sourceforge.net>Kurt Riede</a>
29   */
30  public interface DViewColumn {
31  
32      /*** Constant for alignments. */
33      int ALIGN_LEFT = 0;
34  
35      /*** Constant for alignments. */
36      int ALIGN_RIGHT = 1;
37  
38      /*** Constant for alignments. */
39      int ALIGN_CENTER = 2;
40  
41      /*** Constant for seperators. */
42      int SEP_SPACE = 1;
43  
44      /*** Constant for seperators. */
45      int SEP_COMMA = 2;
46  
47      /*** Constant for seperators. */
48      int SEP_SEMICOLON = 3;
49  
50      /*** Constant for seperators. */
51      int SEP_NEWLINE = 4;
52  
53      /*** Constant for seperators. */
54      int SEP_NONE = 0;
55  
56      /*** Constant for number formatting. */
57      int FMT_H = 2;
58  
59      /*** Constant for number formatting. */
60      int FMT_ALL = 3;
61  
62      /*** Constant for number formatting. */
63      int FMT_GENERAL = 0;
64  
65      /*** Constant for number formatting. */
66      int FMT_FIXED = 1;
67  
68      /*** Constant for number formatting. */
69      int FMT_SCIENTIFIC = 2;
70  
71      /*** Constant for number formatting. */
72      int FMT_CURRENCY = 3;
73  
74      /*** Constant for number attributes. */
75      int ATTR_PUNCTUATED = 1;
76  
77      /*** Constant for number attributes. */
78      int ATTR_PARENS = 2;
79  
80      /*** Constant for number attributes. */
81      int ATTR_PERCENT = 4;
82  
83      /*** Constant for date formatting. */
84      int FMT_YMD = 0;
85  
86      /*** Constant for date formatting. */
87      int FMT_MD = 2;
88  
89      /*** Constant for date formatting. */
90      int FMT_YM = 3;
91  
92      /*** Constant for date formatting. */
93      int FMT_Y4M = 6;
94  
95      /*** Constant for date formatting. */
96      int FMT_HMS = 0;
97  
98      /*** Constant for date formatting. */
99      int FMT_HM = 1;
100 
101     /*** Constant for date formatting. */
102     int FMT_NEVER = 0;
103 
104     /*** Constant for date formatting. */
105     int FMT_SOMETIMES = 1;
106 
107     /*** Constant for date formatting. */
108     int FMT_ALWAYS = 2;
109 
110     /*** Constant for date formatting. */
111     int FMT_DATE = 0;
112 
113     /*** Constant for date formatting. */
114     int FMT_TIME = 1;
115 
116     /*** Constant for date formatting. */
117     int FMT_DATETIME = 2;
118 
119     /*** Constant for date formatting. */
120     int FMT_TODAYTIME = 3;
121 
122     /*** Constant for text formatting. */
123     int FONT_BOLD = 1;
124 
125     /*** Constant for text formatting. */
126     int FONT_ITALIC = 2;
127 
128     /*** Constant for text formatting. */
129     int FONT_UNDERLINE = 4;
130 
131     /*** Constant for text formatting. */
132     int FONT_STRIKEOUT = 8;
133 
134     /*** Constant for text formatting. */
135     int FONT_STRIKETHROUGH = 8;
136 
137     /*** Constant for text formatting. */
138     int FONT_PLAIN = 0;
139 
140     /***
141      * Indicates whether a column is hidden.
142      *
143      * <h3>Legal values</h3>
144      *
145      * @return <code>true</code> if the column is hidden, <code>false</code> if the column is
146      * not hidden
147      */
148     boolean isHidden();
149 
150     /***
151      * The width of a column.
152      *
153      * @return width of a column
154      */
155     int getWidth();
156 
157     /***
158      * The title of a column or an empty string if the column does not have a
159      * title.
160      *
161      * @return the view title
162      */
163     String getTitle();
164 
165     /***
166      * The title of a column or an empty string if the column does not have a
167      * title.
168      *
169      * @param title the new title
170      */
171     void setTitle(String title);
172 
173     /***
174      * The alignment of data in a column.
175      *
176      * @return alignment of a column
177      */
178     int getAlignment();
179 
180     /***
181      * The alignment of data in a column.
182      *
183      * @param alignment the new alignment
184      */
185     void setAlignment(int alignment);
186 
187     /***
188      * Indicates whether a column contains only response documents.
189      *
190      * @return whether a column contains only response documents
191      */
192     boolean isResponse();
193 
194     /***
195      * Indicates whether a column is an auto-sorted column.
196      *
197      * <p>This property is false if the column is user-sorted but not
198      * auto-sorted.</p>
199      *
200      * @return <code>true</code> if the column is auto-sorted, <code>false</code> if the
201      * column is not auto-sorted
202      */
203     boolean isSorted();
204 
205     /***
206      * The formula for a column that is based on a simple function or a formula.
207      *
208      * <ul>
209      * <li>If the column is based on a formula, this property returns the
210      * formula.</li>
211      * <li>If the column is based on a simple function, this property returns
212      * the formula equivalent. For example, if the column is the simple function
213      * "Creation Date," this property returns "@Created."</li>
214      * <li>If the column is based on a field, this property returns an empty
215      * string.</li>
216      * </ul>
217      *
218      * @return formula for a column
219      */
220     String getFormula();
221 
222     /***
223      * Indicates whether a column is hidden.
224      *
225      * @param flag <code>true</code> if the column is hidden or <code>false</code> if the column is
226      * not hidden
227      */
228     void setHidden(boolean flag);
229 
230     /***
231      * The formula for a column that is based on a simple function or a formula.
232      *
233      * <ul>
234      * <li>This property replaces the existing formula. The replacement formula
235      * must be valid and cannot be an empty string.</li>
236      * <li>If the replacement formula is equivalent to a simple function, the
237      * column basis changes to the simple function.</li>
238      * <li>If the formula is simply the name of a field, the column basis
239      * changes to the value of that field, IsField becomes true, and IsFormula
240      * becomes false.</li>
241      * <li>If a formula (that is not simply the name of a field) is written to
242      * a column based on a field, the column basis changes to a simple function
243      * or a formula, IsFormula becomes true, and IsField becomes false.</li>
244      * </ul>
245      *
246      * @param arg1 formula for a column
247      */
248     void setFormula(String arg1);
249 
250     /***
251      * The position of a column in its view. Columns are numbered from left to
252      * right, starting with 1.
253      *
254      * <p>The Columns property in View returns a vector of DDViewColumn objects.
255      * The vector is zero-based, so the first element in the vector is element 0
256      * and contains the DViewColumn at position 1. The second element in the
257      * vector is element 1 and contains the DViewColumn at position 2, and so on.
258      * Remember to add one to the vector index to get the correct position
259      * value.</p>
260      *
261      * @return position of column
262      */
263     int getPosition();
264 
265     /***
266      * Indicates whether a column value is based on a field value.
267      *
268      * @return <code>true</code> if the column is based on a field value, <code>false</code>
269      * if the column is not based on a field value
270      *
271      * <p>If you specify a column as a formula whose value is the name of a
272      * field, the column is considered a field. The formula must contain only
273      * the name of the field. For example, "Subject" is a field but
274      * "@Trim(Subject)" is a formula.</p>
275      *
276      * <p>This property returns false if the column is based on a simple
277      * function or formula.</p>
278      */
279     boolean isField();
280 
281     /***
282      * Indicates whether a column value is based on a simple function or a
283      * formula.
284      *
285      * @return <code>true</code> if the column is based on a simple function or formula,
286      * <code>false</code> if the column is not based on a simple function or formula
287      *
288      * <p>If you specify a column as a formula whose value is the name of a
289      * field, the column is considered a field. The formula must contain only
290      * the name of the field. For example, "Subject" is a field but
291      * "@Trim(Subject)" is a formula.</p>
292      *
293      * <p>This property returns false if the column is based on a field value.</p>
294      */
295     boolean isFormula();
296 
297     /***
298      * The programmatic name of a column, which is usually the field (item) name
299      * for a column based on a field.
300      *
301      * <p>The programmatic name is specified in the Advanced tab of the Column
302      * properties box. By default, the programmatic name for a column based on a
303      * field is the name of the field. The programmatic name for a column based
304      * on a simple action or a formula is a dollar sign followed by a digit or
305      * digits -- "$1," "$2," and so on.
306      *
307      * @return programmatic name of column
308      */
309     String getItemName();
310 
311     /***
312      * List (multi-value) separator for values in a column.
313      *
314      * @return {@link #SEP_COMMA}, {@link #SEP_NEWLINE}, {@link #SEP_NONE}, {@link #SEP_SEMICOLON} or {@link #SEP_SPACE}
315      *
316      * @since Lotus Notes 6.5
317      */
318     int getListSep();
319 
320     /***
321      * The alignment of the header in a column.
322      *
323      * @return {@link #ALIGN_CENTER}, {@link #ALIGN_LEFT} or {@link #ALIGN_RIGHT}
324      *
325      * @since Lotus Notes 6.5
326      */
327     int getHeaderAlignment();
328 
329     /***
330      * The font face of data in a column.
331      *
332      * <p>Typical font faces include Ariel, Courier, Default Sans Serif,
333      * Helvetica, Palatino, Symbol, Times New Roman, and many more.
334      *
335      * @return font face of data
336      *
337      * @since Lotus Notes 6.5
338      */
339     String getFontFace();
340 
341     /***
342      * The font style of data in a column.
343      *
344      * @return {@link #FONT_PLAIN}, {@link #FONT_BOLD}, {@link #FONT_ITALIC},
345      *         {@link #FONT_UNDERLINE}, {@link #FONT_STRIKEOUT} or {@link #FONT_STRIKETHROUGH}
346      *
347      * <p>The font style can have multiple values. For example, the style might
348      * be {@link #FONT_BOLD}, {@link #FONT_ITALIC}</p>
349      *
350      * <p>You can use {@link #isFontBold}, {@link #isFontItalic},
351      * {@link #isFontStrikethrough} or {@link #isFontUnderline} to query and set
352      * the font styles.
353      *
354      * @since Lotus Notes 6.5
355      */
356     int getFontStyle();
357 
358     /***
359      * The font color of data in a column.
360      *
361      * @return A Domino color index in the range 0-240
362      *
363      * <p>The first 16 color indices are:</p>
364      *
365      * <p>{@link DRichTextStyle#COLOR_BLACK}, {@link DRichTextStyle#COLOR_BLUE},
366      * {@link DRichTextStyle#COLOR_CYAN}, {@link DRichTextStyle#COLOR_DARK_BLUE},
367      * {@link DRichTextStyle#COLOR_DARK_CYAN}, {@link DRichTextStyle#COLOR_DARK_GREEN},
368      * {@link DRichTextStyle#COLOR_DARK_MAGENTA}, {@link DRichTextStyle#COLOR_DARK_RED},
369      * {@link DRichTextStyle#COLOR_DARK_YELLOW}, {@link DRichTextStyle#COLOR_GRAY},
370      * {@link DRichTextStyle#COLOR_GREEN}, {@link DRichTextStyle#COLOR_LIGHT_GRAY},
371      * {@link DRichTextStyle#COLOR_MAGENTA}, {@link DRichTextStyle#COLOR_RED},
372      * {@link DRichTextStyle#COLOR_WHITE}, {@link DRichTextStyle#COLOR_YELLOW}
373      * </p>
374      *
375      * @since Lotus Notes 6.5
376      */
377     int getFontColor();
378 
379     /***
380      * The font point size of data in a column.
381      *
382      * @return font point size of data
383      * @since Lotus Notes 6.5
384      */
385     int getFontPointSize();
386 
387     /***
388      * Number of decimal places for numeric values in a column.
389      *
390      * @return Number of decimal places for numeric values
391      * @since Lotus Notes 6.5
392      */
393     int getNumberDigits();
394 
395     /***
396      * Format for numeric values in a column.
397      *
398      * @return {@link #FMT_CURRENCY}, {@link #FMT_FIXED}, {@link #FMT_GENERAL} or {@link #FMT_SCIENTIFIC}
399      *
400      * @since Lotus Notes 6.5
401      */
402     int getNumberFormat();
403 
404     /***
405      * Attributes for numeric values in a column.
406      *
407      * @return {@link #ATTR_PARENS} (parentheses on negative numbers), {@link #ATTR_PERCENT} (percent sign),
408      *  or {@link #ATTR_PUNCTUATED} (punctuated at thousandths)
409      *
410      * <p>The number attribute can have multiple values. For example, the
411      * attribute might be {@link #ATTR_PARENS} and {@link #ATTR_PUNCTUATED}.</p>
412      *
413      * @since Lotus Notes 6.5
414      */
415     int getNumberAttrib();
416 
417     /***
418      * The format of date data in a column.
419      *
420      * @return {@link #FMT_MD} (month and day), {@link #FMT_YM}
421      * (year and month), {@link #FMT_Y4M} (4-digit year and month) or
422      * {@link #FMT_YMD} (year, month, and day)
423      *
424      * @since Lotus Notes 6.5
425      */
426     int getDateFmt();
427 
428     /***
429      * The format of time data in a column.
430      *
431      * @return {@link #FMT_HM} (hour and minute), {@link #FMT_HMS} (hour,
432      *         minute, and second), {@link #FMT_H} (hour only) or
433      *         {@link #FMT_ALL} (hour, minute, second, and hundredths of a
434      *         second)
435      *
436      * @since Lotus Notes 6.5
437      */
438     int getTimeFmt();
439 
440     /***
441      * The format of the zone in a time-date column value.
442      *
443      * @return {@link #FMT_ALWAYS} (always show time zone), {@link #FMT_NEVER}
444      * (never show time zone), {@link #FMT_SOMETIMES} (show time
445      * zone if the time is not local)
446      *
447      * @since Lotus Notes 6.5
448      */
449     int getTimeZoneFmt();
450 
451     /***
452      * The format of time-date data in a column.
453      *
454      * @return {@link #FMT_DATE} (Date only), {@link #FMT_DATETIME}
455      * (Date and time), {@link #FMT_TIME} (Time only) or {@link #FMT_TODAYTIME}
456      * (Date or 'Today' or 'Yesterday' -- and time)
457      *
458      * @since Lotus Notes 6.5
459      */
460     int getTimeDateFmt();
461 
462     /***
463      * Indicates whether a column is categorized.
464      *
465      * @return <code>true</code> if the column is categorized,
466      *         <code>false</code> if the column is not categorized
467      *
468      * <p>If isCategory returns <code>true</code>, isSorted also returns
469      * <code>true</code>, since columns that are categorized must also be
470      * sorted.</p>
471      */
472     boolean isCategory();
473 
474     /***
475      * Indicates whether an auto-sorted column is sorted in descending order.
476      *
477      * @return <code>true</code> if a sorted column is descending, <code>false</code> if a
478      * sorted column is ascending
479      *
480      * <p>In the sort tab for column properties, the"Descending" button
481      * indicates a descending auto-sorted column.</p>
482      *
483      * <p>{@link #isSorted()} must be true for this property to be effective.</p>
484      *
485      * @since Lotus Notes 6.5
486      */
487     boolean isSortDescending();
488 
489     /***
490      * Indicates whether the details for total columns are hidden.
491      *
492      * @return <code>true</code> if the details for totals are hidden, <code>false</code> if
493      * the details for totals are displayed
494      *
495      * @since Lotus Notes 6.5
496      */
497     boolean isHideDetail();
498 
499     /***
500      * Indicates whether column values are displayed as icons.
501      *
502      * @return <code>true</code> if column values are displayed as icons, <code>false</code>
503      * if column values are not displayed as icons
504      *
505      * @since Lotus Notes 6.5
506      */
507     boolean isIcon();
508 
509     /***
510      * Indicates whether a column is resizable.
511      *
512      * <h3>Legal values</h3>
513      *
514      * @return <code>true</code> if a column is resizable, <code>false</code> if a column is
515      * not resizable
516      *
517      * @since Lotus Notes 6.5
518      */
519     boolean isResize();
520 
521     /***
522      * Indicates whether a column is a user-sorted column that can be sorted in
523      * ascending order.
524      *
525      * <h3>Legal values</h3>
526      *
527      * @return <code>true</code> if the column is ascending user-sorted, <code>false</code> if
528      * the column is not ascending user-sorted
529      *
530      * <h3>Usage</h3>
531      *
532      * <p>In the sort tab for column properties, "Click on column head to sort"
533      * indicates a user-sorted column. "Ascending" or "Both" indicates
534      * ascending.</p>
535      *
536      * @since Lotus Notes 6.5
537      */
538     boolean isResortAscending();
539 
540     /***
541      * Indicates whether a column is a user-sorted column that can be sorted in
542      * descending order.
543      *
544      * <h3>Legal values</h3>
545      *
546      * @return <code>true</code> if the column is descending user-sorted, <code>false</code>
547      * if the column is not descending user-sorted
548      *
549      * <h3>Usage</h3>
550      *
551      * <p>In the sort tab for column properties, "Click on column head to sort"
552      * indicates a user-sorted column. "Descending" or "Both" indicates
553      * ascending.</p>
554      *
555      * @since Lotus Notes 6.5
556      */
557     boolean isResortDescending();
558 
559     /***
560      * Indicates whether an expandable column displays a twistie.
561      *
562      * <h3>Legal values</h3>
563      *
564      * @return <code>true</code> if an expandable column displays a twistie, <code>false</code>
565      * if an expandable column does not display a twistie
566      *
567      * @since Lotus Notes 6.5
568      */
569     boolean isShowTwistie();
570 
571     /***
572      * Indicates whether a column is a user-sorted column that allows the user
573      * to change to another view.
574      *
575      * @return <code>true</code> if the column is user-sorted and allows changing to
576      * another view, <code>false</code> if the column is not user-sorted and allows
577      * changing to another view
578      *
579      * <p>In the sort tab for column properties, "Click on column head to sort"
580      * indicates a user-sorted column. "Change To View" indicates allowing the
581      * user to change to another view.</p>
582      *
583      * <p>If a user-sorted column is ascending or descending, this property is
584      * false.</p>
585      *
586      * @since Lotus Notes 6.5
587      */
588     boolean isResortToView();
589 
590     /***
591      * Indicates whether an ascending or descending user-sorted column has a
592      * secondary sorting column.
593      *
594      * @return <code>true</code> if a column is a secondary sorting column,
595      * <code>false</code> if a column is a secondary sorting column
596      *
597      * <p>In the sort tab for column properties, "Click on column head to sort"
598      * indicates a user-sorted column. For ascending and descending sorts, you
599      * can choose to have a secondary sort column.</p>
600      *
601      * <p>If a user-sorted column is "Change to view," this property is false.</p>
602      *
603      * <p>The column must be selected through the Lotus Domino Designer UI.</p>
604      *
605      * <p>The sort is ascending unless {@link #isSecondaryResortDescending} is
606      * true.</p>
607      *
608      * <p>{@link #isResortAscending} or {@link #isResortDescending} must be
609      * true for this property to be effective.</p>
610      *
611      * @since Lotus Notes 6.5
612      */
613     boolean isSecondaryResort();
614 
615     /***
616      * Indicates whether a secondary sorting column for a user-sorted column is
617      * sorted in descending order.
618      *
619      * @return <code>true</code> if a secondary sorting column is descending, <code>false</code>
620      * if a secondary sorting column is ascending
621      *
622      * <p>{@link #isSecondaryResort} must be true for this property to be effective.</p>
623      *
624      * @since Lotus Notes 6.5
625      */
626     boolean isSecondaryResortDescending();
627 
628     /***
629      * Indicates whether an auto-sorted column is sorted with regard to case.
630      *
631      * @return <code>true</code> if the column is sorted with regard to case, <code>false</code>
632      * if the column is sorted without regard to case
633      *
634      * <p>{@link #isSorted} must be true for this property to be effective.</p>
635      *
636      * @since Lotus Notes 6.5
637      */
638     boolean isCaseSensitiveSort();
639 
640     /***
641      * Indicates whether an auto-sorted column is sorted with regard to accent.
642      *
643      * <h3>Legal values</h3>
644      *
645      * @return <code>true</code> if the column is sorted with regard to accent, <code>false</code>
646      * if the column is sorted without regard to accent
647      *
648      * <h3>Usage</h3>
649      *
650      * <p>{@link #isSorted()} must be true for this property to be effective.</p>
651      *
652      * @since Lotus Notes 6.5
653      */
654     boolean isAccentSensitiveSort();
655 
656     /***
657      * The font color of the header in a column.
658      *
659      * @return A Domino color index in the range 0-240.
660      *
661      * <p>The first 16 color indices are:</p>
662      *
663      * <p>{@link DRichTextStyle#COLOR_BLACK}, {@link DRichTextStyle#COLOR_BLUE},
664      * {@link DRichTextStyle#COLOR_CYAN}, {@link DRichTextStyle#COLOR_DARK_BLUE},
665      * {@link DRichTextStyle#COLOR_DARK_CYAN}, {@link DRichTextStyle#COLOR_DARK_GREEN},
666      * {@link DRichTextStyle#COLOR_DARK_MAGENTA}, {@link DRichTextStyle#COLOR_DARK_RED},
667      * {@link DRichTextStyle#COLOR_DARK_YELLOW}, {@link DRichTextStyle#COLOR_GRAY},
668      * {@link DRichTextStyle#COLOR_GREEN}, {@link DRichTextStyle#COLOR_LIGHT_GRAY},
669      * {@link DRichTextStyle#COLOR_MAGENTA}, {@link DRichTextStyle#COLOR_RED},
670      * {@link DRichTextStyle#COLOR_WHITE}, {@link DRichTextStyle#COLOR_YELLOW}
671      * </p>
672      *
673      * @since Lotus Notes 6.5
674      */
675     int getHeaderFontColor();
676 
677     /***
678      * The font face of the header in a column.
679      *
680      * <p>Typical font faces include Ariel, Courier, Default Sans Serif,
681      * Helvetica, Palatino, Symbol, Times New Roman, and many more.</p>
682      *
683      * @return font face of the header
684      * @since Lotus Notes 6.5
685      */
686     String getHeaderFontFace();
687 
688     /***
689      * The font point size of the header in a column.
690      *
691      * @return font point size
692      * @since Lotus Notes 6.5
693      */
694     int getHeaderFontPointSize();
695 
696     /***
697      * The font style of the header in a column.
698      *
699      * @return {@link #FONT_PLAIN}, {@link #FONT_BOLD},
700      *         {@link #FONT_ITALIC}, {@link #FONT_UNDERLINE},
701      *         {@link #FONT_STRIKEOUT}, {@link #FONT_STRIKETHROUGH}
702      *
703      * <p>The font style can have multiple values. For example, the style might
704      * be {@link #FONT_BOLD} and {@link #FONT_ITALIC}.</p>
705      *
706      * @since Lotus Notes 6.5
707      */
708     int getHeaderFontStyle();
709 
710     /***
711      * The index of the secondary sorting column of a user-sorted column that
712      * allows a secondary sorting column.
713      *
714      * <p>The index of the first column is 0, the second 1, and so on.</p>
715      *
716      * @return index of the secondary sorting column
717      * @since Lotus Notes 6.5
718      */
719     int getSecondaryResortColumnIndex();
720 
721     /***
722      * Indicates whether the font style for a column includes bold.
723      *
724      * @return <code>true</code> if the font style includes bold, <code>false</code> if the
725      * font style does not include bold
726      *
727      * @since Lotus Notes 6.5
728      */
729     boolean isFontBold();
730 
731     /***
732      * Indicates whether the font style for a column includes italic.
733      *
734      * @return <code>true</code> if the font style includes italic, <code>false</code> if the
735      * font style does not include italic
736      *
737      * @since Lotus Notes 6.5
738      */
739     boolean isFontItalic();
740 
741     /***
742      * Indicates whether the font style for a column includes underline.
743      *
744      * @return <code>true</code> if the font style includes underline, <code>false</code> if
745      * the font style does not include underline
746      *
747      * @since Lotus Notes 6.5
748      */
749     boolean isFontUnderline();
750 
751     /***
752      * Indicates whether the font style for a column includes strikethrough.
753      *
754      * @return <code>true</code> if the font style includes strikethrough, <code>false</code>
755      * if the font style does not include strikethrough
756      *
757      * @since Lotus Notes 6.5
758      */
759     boolean isFontStrikethrough();
760 
761     /***
762      * Indicates whether the header font style for a column includes bold.
763      *
764      * @return <code>true</code> if the header font style includes bold, <code>false</code> if
765      * the header font style does not include bold
766      *
767      * @since Lotus Notes 6.5
768      */
769     boolean isHeaderFontBold();
770 
771     /***
772      * Indicates whether the header font style for a column includes italic.
773      *
774      * @return <code>true</code> if the header font style includes italic, <code>false</code>
775      * if the header font style does not include italic
776      *
777      * @since Lotus Notes 6.5
778      */
779     boolean isHeaderFontItalic();
780 
781     /***
782      * Indicates whether the header font style for a column includes underline.
783      *
784      * @return <code>true</code> if the header font style includes underline, <code>false</code>
785      * if the header font style does not include underline
786      *
787      * @since Lotus Notes 6.5
788      */
789     boolean isHeaderFontUnderline();
790 
791     /***
792      * Indicates whether the header font style for a column includes
793      * strikethrough.
794      *
795      * @return <code>true</code> if the header font style includes strikethrough, <code>false</code>
796      * if the header font style does not include strikethrough
797      *
798      * @since Lotus Notes 6.5
799      */
800     boolean isHeaderFontStrikethrough();
801 
802     /***
803      * Indicates whether the number attributes for a column include parentheses
804      * for negative numbers.
805      *
806      * @return <code>true</code> if the number attributes include parentheses, <code>false</code>
807      * if the number attributes do not include parentheses
808      *
809      * @since Lotus Notes 6.5
810      */
811     boolean isNumberAttribParens();
812 
813     /***
814      * Indicates whether the number attributes for a column include punctuation
815      * at thousandths.
816      *
817      * @return <code>true</code> if the number attributes include punctuation, <code>false</code>
818      * if the number attributes do not include punctuation
819      *
820      * @since Lotus Notes 6.5
821      */
822     boolean isNumberAttribPunctuated();
823 
824     /***
825      * Indicates whether the number attributes for a column include displaying
826      * the number as a percentage.
827      *
828      * @return <code>true</code> if the number attributes include percent, <code>false</code>
829      * if the number attributes do not include percent
830      *
831      * @since Lotus Notes 6.5
832      */
833     boolean isNumberAttribPercent();
834 
835     /***
836      * The name of the target view for a user-sorted column that allows the user
837      * to change to another view.
838      *
839      * @return name of the target view
840      * @since Lotus Notes 6.5
841      */
842     String getResortToViewName();
843 
844     /***
845      * The format of date data in a column.
846      *
847      * @param arg1 {@link #FMT_MD} (month and day), {@link #FMT_YM}
848      * (year and month), {@link #FMT_Y4M} (4-digit year and month) or
849      * {@link #FMT_YMD} (year, month, and day)
850      *
851      * @since Lotus Notes 6.5
852      */
853     void setDateFmt(int arg1);
854 
855     /***
856      * The font color of data in a column.
857      *
858      * @param arg1 a Domino color index in the range 0-240.
859      *
860      * <p>The first 16 color indices are:</p>
861      *
862      * <p>{@link DRichTextStyle#COLOR_BLACK}, {@link DRichTextStyle#COLOR_BLUE},
863      * {@link DRichTextStyle#COLOR_CYAN}, {@link DRichTextStyle#COLOR_DARK_BLUE},
864      * {@link DRichTextStyle#COLOR_DARK_CYAN}, {@link DRichTextStyle#COLOR_DARK_GREEN},
865      * {@link DRichTextStyle#COLOR_DARK_MAGENTA}, {@link DRichTextStyle#COLOR_DARK_RED},
866      * {@link DRichTextStyle#COLOR_DARK_YELLOW}, {@link DRichTextStyle#COLOR_GRAY},
867      * {@link DRichTextStyle#COLOR_GREEN}, {@link DRichTextStyle#COLOR_LIGHT_GRAY},
868      * {@link DRichTextStyle#COLOR_MAGENTA}, {@link DRichTextStyle#COLOR_RED},
869      * {@link DRichTextStyle#COLOR_WHITE}, {@link DRichTextStyle#COLOR_YELLOW}
870      * </p>
871      *
872      * @since Lotus Notes 6.5
873      */
874     void setFontColor(int arg1);
875 
876     /***
877      * The font face of data in a column.
878      *
879      * <p>Typical font faces include Ariel, Courier, Default Sans Serif,
880      * Helvetica, Palatino, Symbol, Times New Roman, and many more.</p>
881      *
882      * @param arg1 font face of data
883      * @since Lotus Notes 6.5
884      */
885     void setFontFace(String arg1);
886 
887     /***
888      * The font point size of data in a column.
889      *
890      * @param arg1 font point size
891      * @since Lotus Notes 6.5
892      */
893     void setFontPointSize(int arg1);
894 
895     /***
896      * The font style of data in a column.
897      *
898      * @param arg1 {@link #FONT_PLAIN}, {@link #FONT_BOLD}, {@link #FONT_ITALIC}
899      * {@link #FONT_UNDERLINE}, {@link #FONT_STRIKEOUT} or {@link #FONT_STRIKETHROUGH}
900      *
901      * <p>The font style can have multiple values. For example, the style might
902      * be {@link #FONT_BOLD} and {@link #FONT_ITALIC}.</p>
903      *
904      * @since Lotus Notes 6.5
905      */
906     void setFontStyle(int arg1);
907 
908     /***
909      * The alignment of the header in a column.
910      *
911      * @param arg1 {@link #ALIGN_CENTER}, {@link #ALIGN_LEFT}
912      * {@link #ALIGN_RIGHT}
913      *
914      * @since Lotus Notes 6.5
915      */
916     void setHeaderAlignment(int arg1);
917 
918     /***
919      * Indicates whether an auto-sorted column is sorted with regard to accent.
920      *
921      * @param arg1 <code>true</code> if the column is sorted with regard to accent, <code>false</code>
922      * if the column is sorted without regard to accent
923      *
924      * <h3>Usage</h3>
925      *
926      * <p>{@link #isSorted} must be true for this property to be effective.</p>
927      *
928      * @since Lotus Notes 6.5
929      */
930     void setAccentSensitiveSort(boolean arg1);
931 
932     /***
933      * Indicates whether an auto-sorted column is sorted with regard to case.
934      *
935      * <h3>Legal values</h3>
936      *
937      * @param arg1 <code>true</code> if the column is sorted with regard to case, <code>false</code>
938      * if the column is sorted without regard to case
939      *
940      * <p>{@link #isSorted}  must be true for this property to be effective.</p>
941      *
942      * @since Lotus Notes 6.5
943      */
944     void setCaseSensitiveSort(boolean arg1);
945 
946     /***
947      * Indicates whether the details for total columns are hidden.
948      *
949      * @param arg1 <code>true</code> if the details for totals are hidden, <code>false</code> if
950      * the details for totals are displayed
951      *
952      * @since Lotus Notes 6.5
953      */
954     void setHideDetail(boolean arg1);
955 
956     /***
957      * Indicates whether a column is resizable.
958      *
959      * @param arg1 <code>true</code> if a column is resizable, <code>false</code> if a column is
960      * not resizable
961      *
962      * @since Lotus Notes 6.5
963      */
964     void setResize(boolean arg1);
965 
966     /***
967      * Indicates whether a column is a user-sorted column that can be sorted in
968      * ascending order.
969      *
970      * @param arg1 <code>true</code> if the column is ascending user-sorted, <code>false</code> if
971      * the column is not ascending user-sorted
972      *
973      * <p>In the sort tab for column properties, "Click on column head to sort"
974      * indicates a user-sorted column. "Ascending" or "Both" indicates
975      * ascending.</p>
976      *
977      * @since Lotus Notes 6.5
978      */
979     void setResortAscending(boolean arg1);
980 
981     /***
982      * Indicates whether a column is a user-sorted column that can be sorted in
983      * descending order.
984      *
985      * @param arg1 <code>true</code> if the column is descending user-sorted, <code>false</code>
986      * if the column is not descending user-sorted
987      *
988      * <p>In the sort tab for column properties, "Click on column head to sort"
989      * indicates a user-sorted column. "Descending" or "Both" indicates
990      * ascending.</p>
991      *
992      * @since Lotus Notes 6.5
993      */
994     void setResortDescending(boolean arg1);
995 
996     /***
997      * Indicates whether a column is a user-sorted column that allows the user
998      * to change to another view.
999      *
1000      * @param arg1 <code>true</code> if the column is user-sorted and allows changing to
1001      * another view, <code>false</code> if the column is not user-sorted and allows
1002      * changing to another view
1003      *
1004      * <p>In the sort tab for column properties, "Click on column head to sort"
1005      * indicates a user-sorted column. "Change To View" indicates allowing the
1006      * user to change to another view.</p>
1007      *
1008      * <p>If a user-sorted column is ascending or descending, this property is
1009      * false.</p>
1010      *
1011      * @since Lotus Notes 6.5
1012      */
1013     void setResortToView(boolean arg1);
1014 
1015     /***
1016      * Indicates whether an ascending or descending user-sorted column has a
1017      * secondary sorting column.
1018      *
1019      * @param arg1 <code>true</code> if a column is a secondary sorting column, <code>false</code>
1020      * if a column is a secondary sorting column
1021      *
1022      * <p>In the sort tab for column properties, "Click on column head to sort"
1023      * indicates a user-sorted column. For ascending and descending sorts, you
1024      * can choose to have a secondary sort column.</p>
1025      *
1026      * <p>If a user-sorted column is "Change to view," this property is false.</p>
1027      *
1028      * <p>The column must be selected through the Lotus Domino Designer UI.</p>
1029      *
1030      * <p>The sort is ascending unless {@link #isSecondaryResortDescending} is
1031      * true.</p>
1032      *
1033      * @since Lotus Notes 6.5
1034      */
1035     void setSecondaryResort(boolean arg1);
1036 
1037     /***
1038      * Indicates whether a secondary sorting column for a user-sorted column is
1039      * sorted in descending order.
1040      *
1041      * @param arg1 <code>true</code> if a secondary sorting column is descending, <code>false</code>
1042      * if a secondary sorting column is ascending
1043      *
1044      * <p>{@link #isSecondaryResort()} must be true for this
1045      * property to be effective.</p>
1046      *
1047      * @since Lotus Notes 6.5
1048      */
1049     void setSecondaryResortDescending(boolean arg1);
1050 
1051     /***
1052      * Indicates whether an expandable column displays a twistie.
1053      *
1054      * @param arg1 <code>true</code> if an expandable column displays a twistie, <code>false</code>
1055      * if an expandable column does not display a twistie
1056      *
1057      * @since Lotus Notes 6.5
1058      */
1059     void setShowTwistie(boolean arg1);
1060 
1061     /***
1062      * Indicates whether an auto-sorted column is sorted in descending order.
1063      *
1064      * @param arg1 <code>true</code> if a sorted column is descending, <code>false</code> if a
1065      * sorted column is ascending
1066      *
1067      * <p>In the sort tab for column properties, the"Descending" button
1068      * indicates a descending auto-sorted column.</p>
1069      *
1070      * <p>{@link #isSorted()} must be true for this property to be
1071      * effective.</p>
1072      *
1073      * @since Lotus Notes 6.5
1074      */
1075     void setSortDescending(boolean arg1);
1076 
1077     /***
1078      * Indicates whether a column is an auto-sorted column.
1079      *
1080      * <h3>Legal values</h3>
1081      *
1082      * @param arg1 <code>true</code> if the column is auto-sorted, <code>false</code> if the
1083      * column is not auto-sorted
1084      *
1085      * <h3>Usage</h3>
1086      *
1087      * <p>In the sort tab for column properties, the "Ascending" or
1088      * "Descending" button indicates an auto-sorted column.</p>
1089      *
1090      * <p>This property is false if the column is user-sorted but not
1091      * auto-sorted.</p>
1092      *
1093      * @since Lotus Notes 6.5
1094      */
1095     void setSorted(boolean arg1);
1096 
1097     /***
1098      * List (multi-value) separator for values in a column.
1099      *
1100      * @param arg1 {@link #SEP_COMMA}, {@link #SEP_NEWLINE},
1101      * {@link #SEP_NONE}, {@link #SEP_SEMICOLON} or {@link #SEP_SPACE}
1102      *
1103      * @since Lotus Notes 6.5
1104      */
1105     void setListSep(int arg1);
1106 
1107     /***
1108      * Attributes for numeric values in a column.
1109      *
1110      * @param arg1 {@link #ATTR_PARENS} (parentheses on negative numbers),
1111      * {@link #ATTR_PERCENT} (percent sign) or {@link #ATTR_PUNCTUATED}
1112      * (punctuated at thousandths)
1113      *
1114      * <p>The number attribute can have multiple values. For example, the
1115      * attribute might be {@link #ATTR_PARENS} and {@link #ATTR_PUNCTUATED}.</p>
1116      *
1117      * @since Lotus Notes 6.5
1118      */
1119     void setNumberAttrib(int arg1);
1120 
1121     /***
1122      * Number of decimal places for numeric values in a column.
1123      *
1124      * @param arg1 number of decimal places
1125      * @since Lotus Notes 6.5
1126      */
1127     void setNumberDigits(int arg1);
1128 
1129     /***
1130      * Format for numeric values in a column.
1131      *
1132      * @param arg1 {@link #FMT_CURRENCY}, {@link #FMT_FIXED}
1133      * {@link #FMT_GENERAL} or {@link #FMT_SCIENTIFIC}
1134      *
1135      * @since Lotus Notes 6.5
1136      */
1137     void setNumberFormat(int arg1);
1138 
1139     /***
1140      * The format of time-date data in a column.
1141      *
1142      * @param arg1 {@link #FMT_DATE} (Date only), {@link #FMT_DATETIME}
1143      * (Date and time), {@link #FMT_TIME} (Time only), {@link #FMT_TODAYTIME}
1144      * (Date or 'Today' or 'Yesterday' -- and time)
1145      *
1146      * @since Lotus Notes 6.5
1147      */
1148     void setTimeDateFmt(int arg1);
1149 
1150     /***
1151      * The format of time data in a column.
1152      *
1153      * @param arg1 {@link #FMT_HM} (hour and minute), {@link #FMT_HMS}
1154      * (hour, minute, and second), {@link #FMT_H} (hour only)
1155      * {@link #FMT_ALL} (hour, minute, second, and hundredths of a
1156      * second)
1157      *
1158      * @since Lotus Notes 6.5
1159      */
1160     void setTimeFmt(int arg1);
1161 
1162     /***
1163      * The format of the zone in a time-date column value.
1164      *
1165      * @param arg1 {@link #FMT_ALWAYS} (always show time zone), {@link #FMT_NEVER}
1166      * (never show time zone) or {@link #FMT_SOMETIMES} (show time
1167      * zone if the time is not local)
1168      *
1169      * @since Lotus Notes 6.5
1170      */
1171     void setTimeZoneFmt(int arg1);
1172 
1173     /***
1174      * The width of a column.
1175      *
1176      * @param arg1 width of column
1177      * @since Lotus Notes 6.5
1178      */
1179     void setWidth(int arg1);
1180 
1181     /***
1182      * The font color of the header in a column.
1183      *
1184      * @param arg1 a Domino color index in the range 0-240.
1185      *
1186      * <p>The first 16 color indices are:</p>
1187      *
1188      * <p>{@link DRichTextStyle#COLOR_BLACK}, {@link DRichTextStyle#COLOR_BLUE},
1189      * {@link DRichTextStyle#COLOR_CYAN}, {@link DRichTextStyle#COLOR_DARK_BLUE},
1190      * {@link DRichTextStyle#COLOR_DARK_CYAN}, {@link DRichTextStyle#COLOR_DARK_GREEN},
1191      * {@link DRichTextStyle#COLOR_DARK_MAGENTA}, {@link DRichTextStyle#COLOR_DARK_RED},
1192      * {@link DRichTextStyle#COLOR_DARK_YELLOW}, {@link DRichTextStyle#COLOR_GRAY},
1193      * {@link DRichTextStyle#COLOR_GREEN}, {@link DRichTextStyle#COLOR_LIGHT_GRAY},
1194      * {@link DRichTextStyle#COLOR_MAGENTA}, {@link DRichTextStyle#COLOR_RED},
1195      * {@link DRichTextStyle#COLOR_WHITE}, {@link DRichTextStyle#COLOR_YELLOW}
1196      * </p>
1197      *
1198      * @since Lotus Notes 6.5
1199      */
1200     void setHeaderFontColor(int arg1);
1201 
1202     /***
1203      * The font face of the header in a column.
1204      *
1205      * <p>Typical font faces include Ariel, Courier, Default Sans Serif,
1206      * Helvetica, Palatino, Symbol, Times New Roman, and many more.</p>
1207      *
1208      * @param arg1 font face of header
1209      * @since Lotus Notes 6.5
1210      */
1211     void setHeaderFontFace(String arg1);
1212 
1213     /***
1214      * The font point size of the header in a column.
1215      *
1216      * @param arg1 font point size of the header
1217      * @since Lotus Notes 6.5
1218      */
1219     void setHeaderFontPointSize(int arg1);
1220 
1221     /***
1222      * The font style of the header in a column.
1223      *
1224      * @param arg1 {@link #FONT_PLAIN}, {@link #FONT_BOLD}
1225      * <li>#FONT_ITALIC}, {@link #FONT_UNDERLINE}
1226      * <li>#FONT_STRIKEOUT} or {@link #FONT_STRIKETHROUGH}
1227      *
1228      * <p>The font style can have multiple values. For example, the style might
1229      * be {@link #FONT_BOLD} and {@link #FONT_ITALIC}.</p>
1230      *
1231      * @since Lotus Notes 6.5
1232      */
1233     void setHeaderFontStyle(int arg1);
1234 
1235     /***
1236      * The index of the secondary sorting column of a user-sorted column that
1237      * allows a secondary sorting column.
1238      *
1239      * <p>The index of the first column is 0, the second 1, and so on.</p>
1240      *
1241      * @param arg1 index of the secondary sorting column
1242      * @since Lotus Notes 6.5
1243      */
1244     void setSecondaryResortColumnIndex(int arg1);
1245 
1246     /***
1247      * Indicates whether the font style for a column includes bold.
1248      *
1249      * @param arg1 <code>true</code> if the font style includes bold, <code>false</code> if the
1250      * font style does not include bold
1251      *
1252      * @since Lotus Notes 6.5
1253      */
1254     void setFontBold(boolean arg1);
1255 
1256     /***
1257      * Indicates whether the font style for a column includes italic.
1258      *
1259      * @param arg1 <code>true</code> if the font style includes italic, <code>false</code> if the
1260      * font style does not include italic
1261      *
1262      * @since Lotus Notes 6.5
1263      */
1264     void setFontItalic(boolean arg1);
1265 
1266     /***
1267      * Indicates whether the font style for a column includes underline.
1268      *
1269      * @param arg1 <code>true</code> if the font style includes underline, <code>false</code> if
1270      * the font style does not include underline
1271      *
1272      * @since Lotus Notes 6.5
1273      */
1274     void setFontUnderline(boolean arg1);
1275 
1276     /***
1277      * Indicates whether the font style for a column includes strikethrough.
1278      *
1279      * @param arg1 <code>true</code> if the font style includes strikethrough, <code>false</code>
1280      * if the font style does not include strikethrough
1281      *
1282      * @since Lotus Notes 6.5
1283      */
1284     void setFontStrikethrough(boolean arg1);
1285 
1286     /***
1287      * Indicates whether the header font style for a column includes bold.
1288      *
1289      * @param arg1 <code>true</code> if the header font style includes bold, <code>false</code> if
1290      * the header font style does not include bold
1291      *
1292      * @since Lotus Notes 6.5
1293      */
1294     void setHeaderFontBold(boolean arg1);
1295 
1296     /***
1297      * Indicates whether the header font style for a column includes italic.
1298      *
1299      * @param arg1 <code>true</code> if the header font style includes italic, <code>false</code>
1300      * if the header font style does not include italic
1301      *
1302      * @since Lotus Notes 6.5
1303      */
1304     void setHeaderFontItalic(boolean arg1);
1305 
1306     /***
1307      * Indicates whether the header font style for a column includes underline.
1308      *
1309      * @param arg1 <code>true</code> if the header font style includes underline, <code>false</code>
1310      * if the header font style does not include underline
1311      *
1312      * @since Lotus Notes 6.5
1313      */
1314     void setHeaderFontUnderline(boolean arg1);
1315 
1316     /***
1317      * Indicates whether the header font style for a column includes
1318      * strikethrough.
1319      *
1320      * @param arg1 <code>true</code> if the header font style includes strikethrough, <code>false</code>
1321      * if the header font style does not include strikethrough
1322      *
1323      * @since Lotus Notes 6.5
1324      */
1325     void setHeaderFontStrikethrough(boolean arg1);
1326 
1327     /***
1328      * Indicates whether the number attributes for a column include parentheses
1329      * for negative numbers.
1330      *
1331      * @param arg1 <code>true</code> if the number attributes include parentheses, <code>false</code>
1332      * if the number attributes do not include parentheses
1333      *
1334      * @since Lotus Notes 6.5
1335      */
1336     void setNumberAttribParens(boolean arg1);
1337 
1338     /***
1339      * Indicates whether the number attributes for a column include punctuation
1340      * at thousandths.
1341      *
1342      * @param arg1 <code>true</code> if the number attributes include punctuation, <code>false</code>
1343      * if the number attributes do not include punctuation
1344      *
1345      * @since Lotus Notes 6.5
1346      */
1347     void setNumberAttribPunctuated(boolean arg1);
1348 
1349     /***
1350      * Indicates whether the number attributes for a column include displaying
1351      * the number as a percentage.
1352      *
1353      * @param arg1 <code>true</code> if the number attributes include percent, <code>false</code>
1354      * if the number attributes do not include percent
1355      *
1356      * @since Lotus Notes 6.5
1357      */
1358     void setNumberAttribPercent(boolean arg1);
1359 
1360     /***
1361      * The name of the target view for a user-sorted column that allows the user
1362      * to change to another view.
1363      *
1364      * @param arg1 name of target view
1365      * @since Lotus Notes 6.5
1366      */
1367     void setResortToViewName(String arg1);
1368 }