All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hcl.domino.design.CollectionDesignElement Maven / Gradle / Ivy

There is a newer version: 1.44.0
Show newest version
/*
 * ==========================================================================
 * Copyright (C) 2019-2022 HCL America, Inc. ( http://www.hcl.com/ )
 *                            All rights reserved.
 * ==========================================================================
 * Licensed under the  Apache License, Version 2.0  (the "License").  You may
 * not use this file except in compliance with the License.  You may obtain a
 * copy of the License at .
 *
 * Unless  required  by applicable  law or  agreed  to  in writing,  software
 * distributed under the License is distributed on an  "AS IS" BASIS, WITHOUT
 * WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the  specific language  governing permissions  and limitations
 * under the License.
 * ==========================================================================
 */
package com.hcl.domino.design;

import java.time.Duration;
import java.time.LocalTime;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.OptionalInt;
import java.util.Set;
import java.util.function.Consumer;

import com.hcl.domino.data.CollectionColumn;
import com.hcl.domino.data.NotesFont;
import com.hcl.domino.data.StandardColors;
import com.hcl.domino.design.action.EventId;
import com.hcl.domino.design.format.CalendarLayout;
import com.hcl.domino.design.format.ViewLineSpacing;
import com.hcl.domino.richtext.records.CDResource;
import com.hcl.domino.richtext.structures.ColorValue;
import com.hcl.domino.richtext.structures.ColorValue.Flag;
import com.hcl.domino.richtext.structures.FontStyle;
import com.hcl.domino.richtext.structures.RawColorValue;
import com.hcl.domino.security.AclLevel;

/**
 * Describes a collection design element, i.e. a view or folder.
*
* APIs to create new views/folders and edit its design has been added in version 1.2.4. */ public interface CollectionDesignElement> extends DesignElement.NamedDesignElement, DesignElement.XPageAlternativeElement, DesignElement.ThemeableClassicElement, DesignElement.AutoFrameElement, DesignElement.ActionBarElement, DesignElement.ReadersRestrictedElement { public enum OnOpen { GOTO_LAST_OPENED, GOTO_TOP, GOTO_BOTTOM } public enum OnRefresh { DISPLAY_INDICATOR, REFRESH_DISPLAY, REFRESH_FROM_TOP, REFRESH_FROM_BOTTOM } public enum Style { STANDARD_OUTLINE, CALENDAR } /** * Represents the options for the displayed grid in a outline-format view or * folder. * * @author Jesse Gallagher * @since 1.0.32 */ public enum GridStyle { NONE, SOLID, DASHED, DOTS, DASHES_AND_DOTS } /** * Represents the options for displaying the column headers in an outline-format * view or folder. * * @author Jesse Gallagher * @since 1.0.32 * */ public enum HeaderStyle { NONE, FLAT, SIMPLE, BEVELED } /** * Represents the options for how to display unread marks in the view or folder. * * @author Jesse Gallagher * @since 1.0.32 */ public enum UnreadMarksMode { NONE, DOCUMENTS_ONLY, ALL } /** * Represents the options for how the view or folder index should be updated. * * @author Jesse Gallagher * @since 1.0.32 */ public enum IndexRefreshMode { AUTO_AFTER_FIRST_USE, AUTO, MANUAL, AUTO_AT_MOST_EVERY } /** * Represents the options for how the view or folder index should be discarded. * * @author Jesse Gallagher * @since 1.0.32 */ public enum IndexDiscardMode { INACTIVE_45_DAYS, AFTER_EACH_USE, INACTIVE_FOR } /** * Represents the tabs and panes available for display in calendar-format collections. * * @author Jesse Gallagher * @since 1.0.41 */ public enum CalendarTab { DAY, WEEK, MONTH, MEETINGS, TRASH, CURRENT_MONTH, GOTO_TODAY, FORMAT_OPTIONS, OWNER_NAME } /** * Represents the available options for displaying the calendar header. * * @author Jesse Gallagher * @since 1.0.41 */ public enum CalendarHeaderStyle { NONE, PLAIN, TABS } /** * Represents settings related to view/folder display when used inside of * a composite application in the Notes Standard client. * * @author Jesse Gallagher * @since 1.0.32 */ interface CompositeAppSettings { boolean isHideColumnHeader(); CompositeAppSettings setHideColumnHeader(boolean b); boolean isShowPartialHierarchies(); CompositeAppSettings setShowPartialHierarchies(boolean b); boolean isShowSwitcher(); CompositeAppSettings setShowSwitcher(boolean b); boolean isShowTabNavigator(); CompositeAppSettings setShowTabNavigator(boolean b); String getViewers(); CompositeAppSettings setViewers(String s); String getThreadView(); CompositeAppSettings setThreadView(String s); boolean isAllowConversationMode(); CompositeAppSettings setAllowConversationMode(boolean b); } /** * Represents settings specific to calendar-format views and folders. * * @author Jesse Gallagher * @since 1.0.41 */ interface CalendarSettings { /** * Retrieves the color used for the grid separating days in the calendar. * * @return a {@link ColorValue} instance */ ColorValue getDaySeparatorColor(); CalendarSettings setDaySeparatorColor(ColorValue color); /** * Retrieves the color used for the background of the calendar header. * * @return a {@link RawColorValue} instance */ RawColorValue getHeaderBackgroundColor(); CalendarSettings setHeaderBackgroundColor(RawColorValue color); /** * Retrieves the display style for the calendar header. * * @return a {@link CalendarHeaderStyle} instance */ CalendarHeaderStyle getHeaderStyle(); CalendarSettings setHeaderStyle(CalendarHeaderStyle style); /** * Retrieves the tabs and options configured to display in the header of * the calendar. * * @return a {@link Set} of {@link CalendarTab} instances */ Set getTabs(); CalendarSettings setTabs(Collection tabs); /** * Retrieves the background color for the date area. * * @return a {@link ColorValue} instance */ ColorValue getDateBackgroundColor(); CalendarSettings setDateBackgroundColor(ColorValue color); /** * Retrieves the color used for the current day in the date area. * * @return a {@link StandardColors} instance */ StandardColors getTodayColor(); CalendarSettings setTodayColor(StandardColors color); /** * Retrieves the color used for the to-do area in the date area. * * @return a {@link RawColorValue} instance */ RawColorValue getToDoAreaColor(); CalendarSettings setToDoAreaColor(RawColorValue color); /** * Determines whether the date area should display large numbers. * * @return {@code true} if the date area should use large numbers; * {@code false} otherwise */ boolean isDisplayLargeNumbers(); CalendarSettings setDisplayLargeNumbers(boolean b); /** * Retrieves the color used for work hours in the daily view. * * @return a {@link RawColorValue} instance */ RawColorValue getDailyWorkHoursColor(); CalendarSettings setDailyWorkHoursColor(RawColorValue color); /** * Retrieves the color used for non-work hours in the daily view. * * @return a {@link ColorValue} instance */ RawColorValue getDailyOtherHoursColor(); CalendarSettings setDailyOthersHoursColors(RawColorValue color); /** * Retrieves the color used to display months outside the current month * in the monthly view. * * @return a {@link ColorValue} instance */ ColorValue getNonCurrentMonthColor(); CalendarSettings setNonCurrentMonthColor(ColorValue color); /** * Retrieves the color used for text in the monthly view. * * @return a {@link ColorValue} instance */ ColorValue getMonthlyTextColor(); CalendarSettings setMonthlyTextColor(ColorValue color); /** * Retrieves the background color used for entries. * * @return a {@link ColorValue} instance */ ColorValue getEntryBackgroundColor(); CalendarSettings setEntryBackgroundColor(ColorValue color); /** * Determines whether the calendar should display save-conflict marks. * * @return {@code true} to display conflict marks in the calendar; * {@code false} otherwise */ boolean isShowConflictMarks(); CalendarSettings setShowConflictMarks(boolean b); /** * Retrieves the font style used for displaying time slots and grouping * in the calendar. * * @return a {@link FontStyle} instance */ NotesFont getTimeSlotsFont(); /** * Retrieves the font style used for displaying header in the calendar. * * @return a {@link FontStyle} instance */ NotesFont getHeaderFont(); /** * Retrieves the font style used for displaying day and date in the calendar. * * @return a {@link FontStyle} instance */ NotesFont getDayAndDateFont(); /** * Retrieves the font style used for displaying the day and month in weekly * views in the calendar. * * @return a {@link FontStyle} instance */ NotesFont getWeeklyDayAndMonthFont(); /** * Retrieves the calendar formats available for users to select. * * @return a {@link Set} of {@link CalendarLayout} instance */ Set getUserCalendarFormats(); CalendarSettings setUserCalendarFormats(Collection layouts); /** * Retrieves the default calendar format for users viewing the collection. * * @return an {@link Optional} describing {@link CalendarLayout} instance * for the default format, or an empty one to use the last format * viewed by the user */ Optional getInitialUserCalendarFormat(); CalendarSettings setInitialUserCalendarFormat(CalendarLayout layout); /** * Determines whether users are able to see the time-slot display. * * @return {@code true} if the time slot display is user-visible; * {@code false} otherwise */ boolean isTimeSlotDisplayAvailable(); CalendarSettings setTimeSlotDisplayAvailable(boolean b); /** * Retrieves the start time to use for displaying time slots when * {@link #isTimeSlotDisplayAvailable()} is {@code true}. * * @return a {@link LocalTime} instance */ LocalTime getTimeSlotStart(); CalendarSettings setTimeSlotStart(LocalTime time); /** * Retrieves the end time to use for displaying time slots when * {@link #isTimeSlotDisplayAvailable()} is {@code true}. * * @return a {@link LocalTime} instance */ LocalTime getTimeSlotEnd(); CalendarSettings setTimeSlotEnd(LocalTime time); /** * Retrieves the duration to use for displaying time slots when * {@link #isTimeSlotDisplayAvailable()} is {@code true}. * * @return a {@link Duration} instance */ Duration getTimeSlotDuration(); CalendarSettings setTimeSlotDuration(Duration d); /** * Determines whether users can override the time-slot display settings * when {@link #isTimeSlotDisplayAvailable()} is {@code true}. * * @return {@code true} if the time-slot settings are overridable; * {@code false} otherwise */ boolean isTimeSlotsOverridable(); CalendarSettings setTimeSlotsOverridable(boolean b); /** * Determines whether users are able to toggle time slots on and off * for each day when {@link #isTimeSlotDisplayAvailable()} is {@code true}. * * @return {@code true} if users can toggle time slots on and off; * {@code false} otherwise */ boolean isAllowUserTimeSlotToggle(); CalendarSettings setAllowUserTimeSlotToggle(boolean b); /** * Determines whether entries should be grouped together by time slot. * * @return {@code true} if entries should be grouped by time slot; * {@code false} otherwise */ boolean isGroupEntriesByTimeSlot(); CalendarSettings setGroupEntriesByTimeSlot(boolean b); } /** * Represents settings related to the visual view/folder display, including * coloration and sizing behavior. * * @author Jesse Gallagher * @since 1.0.32 */ interface DisplaySettings { /** * Retrieves the primary background color of the collection. * * @return a {@link ColorValue} representing the background color */ ColorValue getBackgroundColor(); DisplaySettings setBackgroundColor(ColorValue color); /** * Retrieves the background color for alternating rows. * * @return a {@link ColorValue} representing the background color for * alternating rows */ ColorValue getAlternateRowColor(); DisplaySettings setAlternateRowColor(ColorValue color); /** * Determines whether the value of {@link #getAlternateRowColor()} is used. * * @return {@code true} if the alternating row color is used; * {@code false} otherwise */ boolean isUseAlternateRowColor(); DisplaySettings setUseAlternateRowColor(boolean b); /** * Retrieves the background image for the collection, if specified. * * @return an {@link Optional} describing the background image, if this * has been specified; an empty one otherwise */ Optional getBackgroundImage(); DisplaySettings setBackgroundImage(CDResource resource); /** * Convenience function that sets the background image to * * @param name image resource name * @return this instance */ DisplaySettings setBackgroundImageName(String name); /** * Removes the background image * * @return this instance */ DisplaySettings clearBackgroundImage(); /** * Retrieves the repeat mode for the background image. * * @return an {@link ImageRepeatMode} for the background image */ ImageRepeatMode getBackgroundImageRepeatMode(); DisplaySettings setBackgroundRepeatMode(ImageRepeatMode mode); /** * Retrieves the specified grid style for the view or folder. * * @return a {@link GridStyle} instance for the collection */ GridStyle getGridStyle(); DisplaySettings setGridStyle(GridStyle style); /** * Retrieves the color used for the grid. * * @return a {@link ColorValue} representing the color of the grid */ ColorValue getGridColor(); DisplaySettings setGridColor(ColorValue color); /** * Retrieves the specified header display style for table-format views and * folders. * * @return a {@link HeaderStyle} instance for the collection */ HeaderStyle getHeaderStyle(); DisplaySettings setHeaderStyle(HeaderStyle style); /** * Retrieves the specified header display color for table-format views and * folders. * * @return a {@link ColorValue} instance for the header color */ ColorValue getHeaderColor(); DisplaySettings setHeaderColor(ColorValue color); /** * Retrieves the number of lines used to display the header in table-format * views and folders. * * @return the number of lines to display the headers */ int getHeaderLines(); DisplaySettings setHeaderLines(int lines); /** * Retrieves the number of lines used to display each row in a view or folder. * * @return the number of lines to display rows */ int getRowLines(); DisplaySettings setRowLines(int lines); /** * Retrieves the line-spacing mode used for each row in a view or folder. * * @return a {@link ViewLineSpacing} instance for the row spacing mode */ ViewLineSpacing getLineSpacing(); DisplaySettings setLineSpacing(ViewLineSpacing spacing); /** * Determines whether the view or folder should shrink rows to fit the actual content * when smaller than the rows specified in {@link #getRowLines()}. * * @return {@code true} if view display should shrink rows to fit; * {@code false} otherwise */ boolean isShrinkRowsToContent(); DisplaySettings setShrinkRowsToContent(boolean b); /** * Determines whether empty categories (e.g. those where the only entries are hidden * due to reader-field restrictions) should be hidden when displayed. * * @return {@code true} if the collection will hide empty categories on display; * {@code false} otherwise */ // TODO determine whether this also affects API access and consider moving to the top level if so boolean isHideEmptyCategories(); DisplaySettings setHideEmptyCategories(boolean b); /** * Determines whether view icons should be colorized when displayed. * * @return {@code true} if view icons should be colorized; * {@code false} otherwise */ boolean isColorizeViewIcons(); DisplaySettings setColorizeViewIcons(boolean b); /** * Retrieves the color used for text in unread-document rows in Notes 5. * *

The Domino Designer property "Transparent" corresponds to this color * value having the {@link Flag NOCOLOR} flag set.

* * @return a {@link ColorValue} representing the unread-document color */ ColorValue getUnreadColor(); DisplaySettings setUnreadColor(ColorValue color); /** * Determines whether unread-document rows should use bold text in Notes * 6 and newer. * * @return {@code true} if unread-document rows use bold text; * {@code false} otherwise */ boolean isUnreadBold(); DisplaySettings setUnreadBold(boolean b); /** * Retrieves the color used for total-row text. * * @return a {@link ColorValue} representing the total-row color */ ColorValue getColumnTotalColor(); DisplaySettings setColumnTotalColor(ColorValue color); /** * Determines whether the view or folder should be displayed with a margin for * selection and unread marks. * * @return {@code true} if the view or folder should have a selection margin; * {@code false} otherwise */ boolean isShowSelectionMargin(); DisplaySettings setShowSelectionMargin(boolean b); /** * Determines whether, when {@link #isShowSelectionMargin()} is {@code true}, the * border between the margin and body should be hidden. * * @return {@code true} if the selection margin border should be hidden; * {@code false} otherwise */ boolean isHideSelectionMarginBorder(); DisplaySettings setHideSelectionMarginBorder(boolean b); /** * Determines whether the last column in the view or folder should be extended to * take any remaining window width. * *

When any column has the "extend to use available window width" property set, * this setting applies instead to the first such column.

* * @return {@code true} whether the last column should use remaining window width; * {@code false} otherwise */ boolean isExtendLastColumnToWindowWidth(); DisplaySettings setExtendLastColumnToWindowWidth(boolean b); /** * Retrieves an object representing the top, left, right, and bottom margins around * the edge of the view or folder. * * @return an {@link EdgeWidths} instance representing the margins * @see #getBelowHeaderMargin() */ EdgeWidths getMargin(); DisplaySettings setMargin(EdgeWidths w); /** * Retrieves the setting for the margin below the view or folder header. * * @return the size of the header below the view or folder header * @see #getMargin() */ int getBelowHeaderMargin(); DisplaySettings setBelowHeaderMargin(int val); /** * Retrieves the color used for the view or folder margin. * * @return a {@link ColorValue} representing the view or folder margin */ ColorValue getMarginColor(); DisplaySettings setMarginColor(ColorValue color); } /** * Represents settings related to the indexing rules of the view or folder. * * @author Jesse Gallagher * @since 1.0.32 */ interface IndexSettings { /** * Retrieves the index refresh mode. * * @return a {@link IndexRefreshMode} instance for the view or folder */ IndexRefreshMode getRefreshMode(); IndexSettings setRefreshMode(IndexRefreshMode mode); /** * Retrieves the "refresh at most X seconds" value. * *

Note: Domino Designer represents this value as hours, not * seconds. However, as the value is stored in seconds, that is how it is represented * here.

* * @return an {@link OptionalInt} describing the "at most every" second count, * or an empty one if the collection uses a different mode * @see IndexRefreshMode#AUTO_AT_MOST_EVERY */ OptionalInt getRefreshMaxIntervalSeconds(); IndexSettings setRefreshMaxIntervalSeconds(int seconds); /** * Retrieves the index discard mode. * * @return a {@link IndexDiscardMode} instance for the view or folder */ IndexDiscardMode getDiscardMode(); IndexSettings setDiscardMode(IndexDiscardMode mode); /** * Retrieves the "discard if inactive for X hours" value. * *

Note: Domino Designer represents this value as days, not * hours. However, as the value is stored in hours, that is how it is represented * here.

* * @return an {@link OptionalInt} describing the "if inactive for" hour count, * or an empty one if the collection uses a different mode * @see IndexDiscardMode#INACTIVE_FOR */ OptionalInt getDiscardAfterHours(); IndexSettings setDiscardAfterHours(int hours); /** * Determines whether the initial index build should be restricted to an ID * with {@link AclLevel#DESIGNER Designer} or * {@link AclLevel#MANAGER Manager} access. * * @return whether initial index building is restricted */ boolean isRestrictInitialBuildToDesigner(); IndexSettings setRestrictInitialBuildToDesigner(boolean b); /** * Determines whether the indexer should limit entries to one per unique collation * key. * * @return {@code true} if the indexer should enforce unique entry keys; * {@code false} otherwise */ boolean isGenerateUniqueKeysInIndex(); /** * Determines whether index updates should be included in the server transaction * log. * * @return {@code true} if updates should be included in the transaction log; * {@code false} otherwise */ boolean isIncludeUpdatesInTransactionLog(); IndexSettings setIncludeUpdatesInTransactionLog(boolean b); } /** * Represents settings related to the rendering of the view or folder when rendered * using the classic web renderer. * * @author Jesse Gallagher * @since 1.0.32 */ interface WebRenderingSettings { /** * Determines whether the collection contents should be treated as raw HTML, without * rendering surrounding controls. * * @return {@code true} if the collection contents should be treated as HTML; * {@code false} otherwise */ boolean isTreatAsHtml(); WebRenderingSettings setTreatAsHtml(boolean b); /** * Determines whether the collection should be rendered using a Java applet instead of * HTML-based controls. * * @return {@code true} if the collection should be rendered using a Java applet; * {@code false} otherwise */ boolean isUseJavaApplet(); WebRenderingSettings setUseJavaApplet(boolean b); /** * Determines whether the collection should include selection checkboxes when rendered * using HTML controls. * * @return {@code true} if the collection should allow selection; * {@code false} otherwise */ boolean isAllowSelection(); WebRenderingSettings setAllowSelection(boolean b); /** * Retrieves the color used for active links when using HTML controls. * * @return a {@link ColorValue} representing the active link color */ ColorValue getActiveLinkColor(); /** * Retrieves the color used for unvisited links when using HTML controls. * * @return a {@link ColorValue} representing the unvisited link color */ ColorValue getUnvisitedLinkColor(); /** * Retrieves the color used for visited links when using HTML controls. * * @return a {@link ColorValue} representing the visited link color */ ColorValue getVisitedLinkColor(); /** * Determines whether the collection should allow web crawler indexing * using HTML controls. * * @return {@code true} if the collection should allow crawler indexing; * {@code false} otherwise */ boolean isAllowWebCrawlerIndexing(); WebRenderingSettings setAllowWebCrawlerIndexing(boolean b); } /** * Appends a new column with default properties * * @param title column title * @param itemName programmatic name * @param consumer receives the added column for further processing * @return this instance */ default T addColumn(String title, String itemName, Consumer consumer) { return addColumn(-1, title, itemName, consumer); } /** * Inserts a new column at the specified position with default properties * * @param pos target position or -1 to append at the end * @param title column title * @param itemName programmatic name * @param consumer receives the added column for further processing * @return this instance */ T addColumn(int pos, String title, String itemName, Consumer consumer); /** * Appends a new column by copying all properties from the provided template column * * @param templateCol template column to copy properties * @param consumer receives the added column for further processing * @return this instance */ default T addColumn(CollectionColumn templateCol, Consumer consumer) { return addColumn(-1, templateCol, consumer); } /** * Inserts a new column at the specified position by copying all properties from the provided template column * * @param pos target position or -1 to append at the end * @param templateCol template column to copy properties * @param consumer receives the added column for further processing * @return this instance */ public T addColumn(int pos, CollectionColumn templateCol, Consumer consumer); /** * Appends an existing shared column at the specified position * * @param columnName name of shared column * @param consumer receives the added column for further processing * @return this instance */ default T addSharedColumn(String columnName, Consumer consumer) { return addSharedColumn(-1, columnName, consumer); } /** * Inserts an existing shared column at the specified position * * @param pos target position or -1 to append at the end * @param columnName name of shared column * @param consumer receives the added column for further processing * @return this instance */ public T addSharedColumn(int pos, String columnName, Consumer consumer); /** * Removes the specified column * * @param column column * @return this instance */ T removeColumn(CollectionColumn column); T swapColumns(CollectionColumn a, CollectionColumn b); T swapColumns(int a, int b); com.hcl.domino.data.DominoCollection getCollection(); /** * Returns all columns as a read-only list. Use the add/remove/swap methods to * change the column list or the setters of {@link CollectionColumn} to tweak * the column properties. * * @return columns */ List getColumns(); /** * Transfers all columns from another view or folder, overwriting * our current columns * * @param viewOrFolder other view or folder * @return this instance */ T copyViewFormatFrom(CollectionDesignElement viewOrFolder); OnOpen getOnOpenUISetting(); T setOnOpenUISetting(OnOpen setting); OnRefresh getOnRefreshUISetting(); boolean isAllowCustomizations(); T setAllowCustomizations(boolean b); T setOnRefreshUISetting(OnRefresh onRefreshUISetting); /** * Retrieves the style of the collection - namely, whether it is displayed in * "outline" format or as a calendar. * * @return the overall visual style of the collection as a {@link Style} instance * @since 1.0.32 */ Style getStyle(); T setStyle(Style style); /** * Determines whether the view or folder is marked as the default to display on * database open. * * @return {@code true} if the collection is marked as the default on DB open; * {@code false} otherwise * @since 1.0.32 */ boolean isDefaultCollection(); T setDefaultCollection(boolean b); /** * Determines whether the view or folder is marked as the default design for new * views and folders in the database. * * @return {@code true} if the collection is marked as the default for design; * {@code false} otherwise * @since 1.0.32 */ boolean isDefaultCollectionDesign(); T setDefaultCollectionDesign(boolean b); /** * Determines whether all non-leaf entries should be collapsed when the user first * opens the database. * * @return {@code true} if non-leaf entries should be collapsed by default; * {@code false} otherwise * @since 1.0.32 */ boolean isCollapseAllOnFirstOpen(); T setCollapseAllOnFirstOpen(boolean b); /** * Determines whether response documents selected by the view will be indexed in * a hierarchy beneath their parents. * * @return {@code true} if response documents should be beneath their parents; * {@code false} otherwise * @since 1.0.32 */ boolean isShowResponseDocumentsInHierarchy(); T setShowResponseDocumentsInHierarchy(boolean b); /** * Determines whether the view or folder should be shown in the client View menu * as its own entry. * * @return {@code true} if the collection should appear in the View menu; * {@code false} otherwise * @since 1.0.32 */ boolean isShowInViewMenu(); T setShowInViewMenu(boolean b); /** * Determines whether computed attributes of action-bar actions should be evaluated each * time the user changes document selection. * * @return {@code true} if actions should be re-evaluated; * {@code false} otherwise * @since 1.0.32 */ boolean isEvaluateActionsOnDocumentChange(); T setEvaluateActionsOnDocumentChange(boolean b); /** * Determines whether the view or folder is configured to allow the user to create new * documents within the displayed table. * * @return {@code true} if the user can create new documents within the view; * {@code false} otherwise * @since 1.0.32 */ boolean isCreateDocumentsAtViewLevel(); T setCreateDocumentsAtViewLevel(boolean b); /** * Retrieves an object that provides a view onto this collection's settings for use in * Composite Applications. * * @return a {@link CompositeAppSettings} instance * @since 1.0.32 */ CompositeAppSettings getCompositeAppSettings(); /** * Retrieves an object that provides a view onto this collection's display settings. * * @return a {@link DisplaySettings} instance * @since 1.0.32 */ DisplaySettings getDisplaySettings(); /** * Retrieves the mode to display unread marks in the view or folder. * * @return an {@link UnreadMarksMode} instance representing the configured mode * @since 1.0.32 */ UnreadMarksMode getUnreadMarksMode(); T setUnreadMarksMode(UnreadMarksMode mode); /** * Retrieves an object that provides a view onto this collection's indexing settings. * * @return a {@link IndexSettings} instance * @since 1.0.32 */ IndexSettings getIndexSettings(); /** * Retrieves an object that provides a view onto this collection's web rendering * settings. * * @return a {@link WebRenderingSettings} instance * @since 1.0.32 */ WebRenderingSettings getWebRenderingSettings(); /** * Determines whether the collection allows Domino Data Service (DAS) operations. * * @return {@code true} if this collection should be accessible via DAS; * {@code false} otherwise * @since 1.0.32 */ boolean isAllowDominoDataService(); T setAllowDominoDataService(boolean b); /** * Retrieves the name of the profile document used to define the colors for user- * definable color columns, if set. * * @return an {@link Optional} describing the color profile-document name, or an * empty one if this is not set * @since 1.0.32 * @see CollectionColumn#isUserDefinableColor() */ Optional getColumnProfileDocName(); T setColumnProfileDocName(String name); /** * Retrieves the programmatic names of columns set as user-definable color columns * and with "use column formula as backup" disabled. * * @return a {@link Set} of column programmatic names * @since 1.0.32 */ Set getUserDefinableNonFallbackColumns(); T setUserDefinableNonFallbackColumns(Collection col); /** * Retrieves the form formula for the view or folder, if specified. * * @return an {@link Optional} describing the collection's form formula, or an empty * one if this is not specified * @since 1.0.34 */ Optional getFormFormula(); T setFormFormula(String formula); /** * Retrieves the help-request formula for the view or folder, if specified. * * @return an {@link Optional} describing the collection's help-request formula, or * an empty one if this is not specified * @since 1.0.34 */ Optional getHelpRequestFormula(); T setHelpRequestFormula(String formula); /** * Retrieves the single-click target-frame formula for the view or folder, if specified. * * @return an {@link Optional} describing the collection's single-click target-frame * formula, or an empty one if this is not specified * @since 1.0.34 */ Optional getSingleClickTargetFrameFormula(); /** * Retrieves the double-click target-frame formula for the view or folder, if specified. * * @return an {@link Optional} describing the collection's double-click target-frame * formula, or an empty one if this is not specified * @since 1.0.34 */ Optional getDoubleClickTargetFrameFormula(); /** * Retrieves the formulas for UI events that are specified for this view or folder. * * @return a {@link Map} of {@link EventId} instances to corresponding formulas * @since 1.0.34 */ Map getFormulaEvents(); /** * Retrieves the element-global LotusScript associated with the view or folder. * * @return a {@link String} representing the IDE-formatted LotusScript for the element * @since 1.0.34 * @see #getLotusScriptGlobals() */ String getLotusScript(); /** * Retrieves the "Globals" portion of the LotusScript associated with the view or folder. * * @return a {@link String} representing the IDE-formatted LotusScript Globals content * for the element * @since 1.0.41 * @see #getLotusScript() */ String getLotusScriptGlobals(); /** * Determines whether the view or folder should be presented as a calendar instead * of the normal "outline" format. * * @return {@code true} if the collection is calendar format; * {@code false} otherwise * @since 1.0.41 */ boolean isCalendarFormat(); T setCalendarFormat(boolean b); /** * Retrieves the calendar-specific settings for this view or folder. This only applies * when {@link #isCalendarFormat()} is {@code true}. * * @return an {@link Optional} describing a {@link CalendarSettings} instance, or an * empty one if this is not a calendar-format collection * @since 1.0.41 */ Optional getCalendarSettings(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy