Class CollectionGroupBase

All Implemented Interfaces:
Serializable, Cloneable, Copyable, DictionaryBean, UifDictionaryBean, Component, DataBinding, Ordered, ScriptEventSupport, CollectionGroup, Container, Group, LifecycleElement, Helpable, org.springframework.core.Ordered

public class CollectionGroupBase extends GroupBase implements CollectionGroup
Group that holds a collection of objects and configuration for presenting the collection in the UI. Supports functionality such as add line, line actions, and nested collections.

Note the standard header/footer can be used to give a header to the collection as a whole, or to provide actions that apply to the entire collection

For binding purposes the binding path of each row field is indexed. The name property inherited from ComponentBase is used as the collection name. The collectionObjectClass property is used to lookup attributes from the data dictionary.

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
  • Constructor Details

    • CollectionGroupBase

      public CollectionGroupBase()
  • Method Details

    • performInitialization

      public void performInitialization(Object model)
      Description copied from class: GroupBase
      The following initialization is performed:
      • Sorts the containers list of components
      • Initializes the instructional field if necessary
      • Initializes LayoutManager
      The following updates are done here:
      • Invoke performInitialize on component modifiers
      Initializes the component

      Where components can set defaults and setup other necessary state. The initialize method should only be called once per component lifecycle and is invoked within the initialize phase of the view lifecylce.

      Specified by:
      performInitialization in interface LifecycleElement
      Overrides:
      performInitialization in class GroupBase
      Parameters:
      model - - object instance containing the view data
      See Also:
    • performApplyModel

      public void performApplyModel(Object model, LifecycleElement parent)
      The following updates are done here:
      • Evaluate the progressive render condition (if set) and combine with the current render status to set the render status
      Called after the initialize phase to perform conditional logic based on the model data

      Where components can perform conditional logic such as dynamically generating new fields or setting field state based on the given data

      Specified by:
      performApplyModel in interface LifecycleElement
      Overrides:
      performApplyModel in class ContainerBase
      Parameters:
      model - - Top level object containing the data (could be the form or a top level business object, dto)
      parent - parent lifecycle element
    • setupLineActionValidationScripts

      protected void setupLineActionValidationScripts(List<Component> components, List<Component> actionComponents)
      Helper method to set action validation script for every action component provided to validate every input field component.
      Parameters:
      components - the components with input fields
      actionComponents - the components with actions
    • setupAddLineDialog

      protected void setupAddLineDialog()
      When add via dialog is true, initialize the add with dialog action (if necessary) and sets up the action script for opening the dialog.
    • performFinalize

      public void performFinalize(Object model, LifecycleElement parent)
      Sets the section boolean to true if this group has a rendering header with text The following finalization is performed:
      • Sets the headerText of the header Group if it is blank
      • Set the messageText of the summary Message if it is blank
      • Finalizes LayoutManager
      The following finalization is done here:
      • progressiveRender and conditionalRefresh variables are processed if set
      • If any of the style properties were given, sets the style string on the style property
      • Set the skipInTabOrder flag for nested components
      The last phase before the view is rendered

      Here final preparations can be made based on the updated view state.

      Specified by:
      performFinalize in interface LifecycleElement
      Overrides:
      performFinalize in class GroupBase
      Parameters:
      model - - top level object containing the data
      parent - - parent component
    • addCollectionPostMetadata

      protected void addCollectionPostMetadata()
      Add the metadata about this collection to the ViewPostMetadata that is to be kept in memory between posts for use by other methods
    • pushCollectionGroupToReference

      public void pushCollectionGroupToReference()
      Sets a reference in the context map for all nested components in the collection group instance, and sets selected collection path and id data attributes on nested actions of this group.
      Specified by:
      pushCollectionGroupToReference in interface CollectionGroup
    • getCollectionLabel

      protected String getCollectionLabel()
      Gets the label for the collection in a human-friendly format.
      Returns:
      a human-friendly collection label
    • getDuplicateLineLabelString

      protected String getDuplicateLineLabelString(List<String> duplicateLinePropertyNames)
      Gets a comma-separated list of the data field labels that are keyed a duplicates.
      Parameters:
      duplicateLinePropertyNames - the property names to check for duplicates
      Returns:
      a comma-separated list of labels
    • initializeNewCollectionLine

      public void initializeNewCollectionLine(View view, Object model, CollectionGroup collectionGroup, boolean clearExistingLine)
      New collection lines are handled in the framework by maintaining a map on the form. The map contains as a key the collection name, and as value an instance of the collection type. An entry is created here for the collection represented by the CollectionGroup if an instance is not available (clearExistingLine will force a new instance). The given model must be a subclass of UifFormBase in order to find the Map.
      Specified by:
      initializeNewCollectionLine in interface CollectionGroup
      Parameters:
      model - Model instance that contains the new collection lines Map
      clearExistingLine - boolean that indicates whether the line should be set to a new instance if it already exists
    • isProcessRemoteFieldHolders

      public boolean isProcessRemoteFieldHolders()
      Do not process remote field holders for collections. Collection items will be processed as the lines are built. Determine if remote field holders should be processed for this container.
      Specified by:
      isProcessRemoteFieldHolders in interface Container
      Overrides:
      isProcessRemoteFieldHolders in class ContainerBase
      Returns:
      True if remote field holders should be processed for this container.
    • getItems

      @ViewLifecycleRestriction("INITIALIZE") public List<? extends Component> getItems()
      List of Component instances that are held by the container

      Contained components are rendered within the section template by calling the associated LayoutManager.

      Specified by:
      getItems in interface Container
      Overrides:
      getItems in class GroupBase
      Returns:
      List component instances
    • getCollectionObjectClass

      public Class<?> getCollectionObjectClass()
      Object class the collection maintains. Used to get dictionary information in addition to creating new instances for the collection when necessary
      Specified by:
      getCollectionObjectClass in interface CollectionGroup
      Returns:
      collection object class
    • setCollectionObjectClass

      public void setCollectionObjectClass(Class<?> collectionObjectClass)
      Setter for the collection object class
      Specified by:
      setCollectionObjectClass in interface CollectionGroup
      Parameters:
      collectionObjectClass -
    • getPropertyName

      public String getPropertyName()
      Name of the property (relative to the parent object) the component binds to
      Specified by:
      getPropertyName in interface DataBinding
      Returns:
      String property name
    • setPropertyName

      public void setPropertyName(String propertyName)
      Setter for the collections property name
      Specified by:
      setPropertyName in interface CollectionGroup
      Parameters:
      propertyName -
    • getBindingInfo

      public BindingInfo getBindingInfo()
      Returns the BindingInfo instance that is configured for the component
      Specified by:
      getBindingInfo in interface DataBinding
      Returns:
      BindingInfo
      See Also:
    • setBindingInfo

      public void setBindingInfo(BindingInfo bindingInfo)
      Setter for the binding info instance
      Specified by:
      setBindingInfo in interface DataBinding
      Parameters:
      bindingInfo -
    • getLineActions

      @ViewLifecycleRestriction("INITIALIZE") public List<? extends Component> getLineActions()
      Action fields that should be rendered for each collection line. Example line action is the delete action
      Specified by:
      getLineActions in interface CollectionGroup
      Returns:
      line action fields
    • setLineActions

      public void setLineActions(List<? extends Component> lineActions)
      Setter for the line action fields list
      Specified by:
      setLineActions in interface CollectionGroup
      Parameters:
      lineActions -
    • getAddLineEnterKeyAction

      public String getAddLineEnterKeyAction()
      Get the id of the add line action to invoke when the enter key is pressed.

      Use '@DEFAULT' if supposed to use first action where 'defaultEnterKeyAction' property is set to true.

      Specified by:
      getAddLineEnterKeyAction in interface CollectionGroup
      Returns:
      id or '@DEFAULT'
    • setAddLineEnterKeyAction

      public void setAddLineEnterKeyAction(String addLineEnterKeyAction)
      Specified by:
      setAddLineEnterKeyAction in interface CollectionGroup
      See Also:
    • getLineEnterKeyAction

      public String getLineEnterKeyAction()
      Get the id of the nonAdd line action to invoke when the enter key is pressed.

      Use '@DEFAULT' if supposed to use first action where 'defaultEnterKeyAction' property is set to true. In a collection may have to use SpringEL to identify line ID values. Here is a sample value: DemoButton@{#lineSuffix}. Notice the use of '@{#lineSuffix}' to help append line suffix information.

      Specified by:
      getLineEnterKeyAction in interface CollectionGroup
      Returns:
      id or '@DEFAULT'
    • setLineEnterKeyAction

      public void setLineEnterKeyAction(String lineEnterKeyAction)
      Specified by:
      setLineEnterKeyAction in interface CollectionGroup
      See Also:
    • isRenderLineActions

      public boolean isRenderLineActions()
      Indicates whether the action column for the collection should be rendered
      Specified by:
      isRenderLineActions in interface CollectionGroup
      Returns:
      true if the actions should be rendered, false if not
      See Also:
    • setRenderLineActions

      public void setRenderLineActions(boolean renderLineActions)
      Setter for the render line actions indicator
      Specified by:
      setRenderLineActions in interface CollectionGroup
      Parameters:
      renderLineActions -
    • isRenderAddLine

      public boolean isRenderAddLine()
      Indicates whether an add line should be rendered for the collection
      Specified by:
      isRenderAddLine in interface CollectionGroup
      Returns:
      true if add line should be rendered, false if it should not be
    • setRenderAddLine

      public void setRenderAddLine(boolean renderAddLine)
      Setter for the render add line indicator
      Specified by:
      setRenderAddLine in interface CollectionGroup
      Parameters:
      renderAddLine -
    • getAddLabel

      public String getAddLabel()
      Convenience getter for the add line label field text. The text is used to label the add line when rendered and its placement depends on the LayoutManager

      For the TableLayoutManager the label appears in the sequence column to the left of the add line fields. For the StackedLayoutManager the label is placed into the group header for the line.

      Specified by:
      getAddLabel in interface CollectionGroup
      Returns:
      add line label
    • setAddLabel

      public void setAddLabel(String addLabelText)
      Setter for the add line label text
      Specified by:
      setAddLabel in interface CollectionGroup
      Parameters:
      addLabelText -
    • getAddLineLabel

      public Message getAddLineLabel()
      Message instance for the add line label
      Specified by:
      getAddLineLabel in interface CollectionGroup
      Returns:
      add line Message
      See Also:
    • setAddLineLabel

      public void setAddLineLabel(Message addLineLabel)
      Setter for the Message instance for the add line label
      Specified by:
      setAddLineLabel in interface CollectionGroup
      Parameters:
      addLineLabel -
      See Also:
    • getAddLinePropertyName

      public String getAddLinePropertyName()
      Name of the property that contains an instance for the add line. If set this is used with the binding info to create the path to the add line. Can be left blank in which case the framework will manage the add line instance in a generic map.
      Specified by:
      getAddLinePropertyName in interface CollectionGroup
      Returns:
      add line property name
    • setAddLinePropertyName

      public void setAddLinePropertyName(String addLinePropertyName)
      Setter for the add line property name
      Specified by:
      setAddLinePropertyName in interface CollectionGroup
      Parameters:
      addLinePropertyName -
    • getAddLineBindingInfo

      public BindingInfo getAddLineBindingInfo()
      BindingInfo instance for the add line property used to determine the full binding path. If add line name given CollectionGroup.getAddLabel() then it is set as the binding name on the binding info. Add line label and binding info are not required, in which case the framework will manage the new add line instances through a generic map (model must extend UifFormBase)
      Specified by:
      getAddLineBindingInfo in interface CollectionGroup
      Returns:
      BindingInfo add line binding info
    • setAddLineBindingInfo

      public void setAddLineBindingInfo(BindingInfo addLineBindingInfo)
      Setter for the add line binding info
      Specified by:
      setAddLineBindingInfo in interface CollectionGroup
      Parameters:
      addLineBindingInfo -
    • getAddLineItems

      @ViewLifecycleRestriction("INITIALIZE") public List<? extends Component> getAddLineItems()
      List of Component instances that should be rendered for the collection add line (if enabled). If not set, the default group's items list will be used
      Specified by:
      getAddLineItems in interface CollectionGroup
      Returns:
      add line field list
      See Also:
    • setAddLineItems

      public void setAddLineItems(List<? extends Component> addLineItems)
      Setter for the add line field list
      Specified by:
      setAddLineItems in interface CollectionGroup
      Parameters:
      addLineItems -
    • getAddLineActions

      @ViewLifecycleRestriction("INITIALIZE") public List<? extends Component> getAddLineActions()
      Component fields that should be rendered for the add line.

      This is generally the add action (button) but can be configured to contain additional components

      Specified by:
      getAddLineActions in interface CollectionGroup
      Returns:
      add line action fields
    • setAddLineActions

      public void setAddLineActions(List<? extends Component> addLineActions)
      Setter for the add line action components fields
      Specified by:
      setAddLineActions in interface CollectionGroup
      Parameters:
      addLineActions -
    • isIncludeLineSelectionField

      public boolean isIncludeLineSelectionField()
      Indicates whether lines of the collection group should be selected by rendering a field for each line that will allow selection

      For example, having the select field enabled could allow selecting multiple lines from a search to return (multi-value lookup)

      Specified by:
      isIncludeLineSelectionField in interface CollectionGroup
      Returns:
      true if select field should be rendered, false if not
    • setIncludeLineSelectionField

      public void setIncludeLineSelectionField(boolean includeLineSelectionField)
      Setter for the render selected field indicator
      Specified by:
      setIncludeLineSelectionField in interface CollectionGroup
      Parameters:
      includeLineSelectionField -
    • getLineSelectPropertyName

      public String getLineSelectPropertyName()
      When CollectionGroup.isIncludeLineSelectionField() is true, gives the name of the property the select field should bind to

      Note if no prefix is given in the property name, such as 'form.', it is assumed the property is contained on the collection line. In this case the binding path to the collection line will be appended. In other cases, it is assumed the property is a list or set of String that will hold the selected identifier strings

      This property is not required. If not the set the framework will use a property contained on UifFormBase

      Specified by:
      getLineSelectPropertyName in interface CollectionGroup
      Returns:
      property name for select field
    • setLineSelectPropertyName

      public void setLineSelectPropertyName(String lineSelectPropertyName)
      Setter for the property name that will bind to the select field
      Specified by:
      setLineSelectPropertyName in interface CollectionGroup
      Parameters:
      lineSelectPropertyName -
    • getCollectionLookup

      public QuickFinder getCollectionLookup()
      Instance of the QuickFinder widget that configures a multi-value lookup for the collection

      If the collection lookup is enabled (by the render property of the quick finder), CollectionGroup.getCollectionObjectClass() will be used as the data object class for the lookup (if not set). Field conversions need to be set as usual and will be applied for each line returned

      Specified by:
      getCollectionLookup in interface CollectionGroup
      Returns:
      instance configured for the collection lookup
    • setCollectionLookup

      public void setCollectionLookup(QuickFinder collectionLookup)
      Setter for the collection lookup quickfinder instance
      Specified by:
      setCollectionLookup in interface CollectionGroup
      Parameters:
      collectionLookup -
    • isShowInactiveLines

      public boolean isShowInactiveLines()
      Indicates whether inactive collections lines should be displayed

      Setting only applies when the collection line type implements the Inactivatable interface. If true and showInactive is set to false, the collection will be filtered to remove any items whose active status returns false

      Specified by:
      isShowInactiveLines in interface CollectionGroup
      Returns:
      true to show inactive records, false to not render inactive records
    • setShowInactiveLines

      public void setShowInactiveLines(boolean showInactiveLines)
      Setter for the show inactive indicator
      Specified by:
      setShowInactiveLines in interface CollectionGroup
      Parameters:
      showInactiveLines - boolean show inactive
    • getActiveCollectionFilter

      public CollectionFilter getActiveCollectionFilter()
      Collection filter instance for filtering the collection data when the showInactive flag is set to false
      Specified by:
      getActiveCollectionFilter in interface CollectionGroup
      Returns:
      CollectionFilter
    • setActiveCollectionFilter

      public void setActiveCollectionFilter(CollectionFilter activeCollectionFilter)
      Setter for the collection filter to use for filter inactive records from the collection
      Specified by:
      setActiveCollectionFilter in interface CollectionGroup
      Parameters:
      activeCollectionFilter - CollectionFilter instance
    • getFilters

      public List<CollectionFilter> getFilters()
      List of CollectionFilter instances that should be invoked to filter the collection before displaying
      Specified by:
      getFilters in interface CollectionGroup
      Returns:
      List<CollectionFilter>
    • setFilters

      public void setFilters(List<CollectionFilter> filters)
      Setter for the List of collection filters for which the collection will be filtered against
      Specified by:
      setFilters in interface CollectionGroup
    • getDuplicateLinePropertyNames

      public List<String> getDuplicateLinePropertyNames()
      List of property names that should be checked for duplicates in the collection.
      Specified by:
      getDuplicateLinePropertyNames in interface CollectionGroup
      Returns:
      the list of property names that should be checked for duplicates in the collection
    • setDuplicateLinePropertyNames

      public void setDuplicateLinePropertyNames(List<String> duplicateLinePropertyNames)
      Specified by:
      setDuplicateLinePropertyNames in interface CollectionGroup
      See Also:
    • getUnauthorizedLineBindingInfos

      public List<BindingInfo> getUnauthorizedLineBindingInfos()
      List of BindingInfo instances that represent lines not authorized to be viewed or edited by the user.
      Specified by:
      getUnauthorizedLineBindingInfos in interface CollectionGroup
    • setUnauthorizedLineBindingInfos

      public void setUnauthorizedLineBindingInfos(List<BindingInfo> unauthorizedLineBindingInfos)
      Specified by:
      setUnauthorizedLineBindingInfos in interface CollectionGroup
      See Also:
    • getSubCollections

      @ViewLifecycleRestriction("INITIALIZE") public List<CollectionGroup> getSubCollections()
      List of CollectionGroup instances that are sub-collections of the collection represented by this collection group
      Specified by:
      getSubCollections in interface CollectionGroup
      Returns:
      sub collections
    • setSubCollections

      public void setSubCollections(List<CollectionGroup> subCollections)
      Setter for the sub collection list
      Specified by:
      setSubCollections in interface CollectionGroup
    • getCollectionGroupSecurity

      public CollectionGroupSecurity getCollectionGroupSecurity()
      Collection Security object that indicates what authorization (permissions) exist for the collection
      Specified by:
      getCollectionGroupSecurity in interface CollectionGroup
      Returns:
      CollectionGroupSecurity instance
    • setComponentSecurity

      public void setComponentSecurity(ComponentSecurity componentSecurity)
      Setter for the components security object
      Specified by:
      setComponentSecurity in interface CollectionGroup
      Specified by:
      setComponentSecurity in interface Component
      Overrides:
      setComponentSecurity in class ComponentBase
      Parameters:
      componentSecurity -
    • initializeComponentSecurity

      protected void initializeComponentSecurity()
      Initializes (if necessary) the component security instance for the component type
      Overrides:
      initializeComponentSecurity in class ComponentBase
    • isEditLineAuthz

      public boolean isEditLineAuthz()
      Specified by:
      isEditLineAuthz in interface CollectionGroup
      See Also:
    • setEditLineAuthz

      public void setEditLineAuthz(boolean editLineAuthz)
      Specified by:
      setEditLineAuthz in interface CollectionGroup
      See Also:
    • isViewLineAuthz

      public boolean isViewLineAuthz()
      Specified by:
      isViewLineAuthz in interface CollectionGroup
      See Also:
    • setViewLineAuthz

      public void setViewLineAuthz(boolean viewLineAuthz)
      Specified by:
      setViewLineAuthz in interface CollectionGroup
      See Also:
    • getCollectionGroupBuilder

      public CollectionGroupBuilder getCollectionGroupBuilder()
      CollectionGroupBuilder instance that will build the components dynamically for the collection instance
      Specified by:
      getCollectionGroupBuilder in interface CollectionGroup
      Returns:
      CollectionGroupBuilder instance
    • setCollectionGroupBuilder

      public void setCollectionGroupBuilder(CollectionGroupBuilder collectionGroupBuilder)
      Setter for the collection group building instance
      Specified by:
      setCollectionGroupBuilder in interface CollectionGroup
      Parameters:
      collectionGroupBuilder -
    • isRenderInactiveToggleButton

      public boolean isRenderInactiveToggleButton()
      Specified by:
      isRenderInactiveToggleButton in interface CollectionGroup
      Returns:
      the showHideInactiveButton
    • setRenderInactiveToggleButton

      public void setRenderInactiveToggleButton(boolean renderInactiveToggleButton)
      Specified by:
      setRenderInactiveToggleButton in interface CollectionGroup
      Parameters:
      renderInactiveToggleButton - the showHideInactiveButton to set
    • getDisplayCollectionSize

      public int getDisplayCollectionSize()
      The number of records to display for a collection
      Specified by:
      getDisplayCollectionSize in interface CollectionGroup
      Returns:
      int
    • setDisplayCollectionSize

      public void setDisplayCollectionSize(int displayCollectionSize)
      Setter for the display collection size
      Specified by:
      setDisplayCollectionSize in interface CollectionGroup
      Parameters:
      displayCollectionSize -
    • isHighlightNewItems

      public boolean isHighlightNewItems()
      Indicates whether new items should be styled with the #newItemsCssClass
      Specified by:
      isHighlightNewItems in interface CollectionGroup
      Returns:
      true if new items must be highlighted
    • setHighlightNewItems

      public void setHighlightNewItems(boolean highlightNewItems)
      Setter for the flag that allows for different styling of new items
      Specified by:
      setHighlightNewItems in interface CollectionGroup
      Parameters:
      highlightNewItems -
    • getNewItemsCssClass

      public String getNewItemsCssClass()
      The css style class that will be added on new items
      Specified by:
      getNewItemsCssClass in interface CollectionGroup
      Returns:
      the new items css style class
    • setNewItemsCssClass

      public void setNewItemsCssClass(String newItemsCssClass)
      Setter for the new items css style class
      Specified by:
      setNewItemsCssClass in interface CollectionGroup
      Parameters:
      newItemsCssClass -
    • getAddItemCssClass

      public String getAddItemCssClass()
      The css style class that will be added on the add item group or row
      Specified by:
      getAddItemCssClass in interface CollectionGroup
      Returns:
      the add item group or row css style class
    • setAddItemCssClass

      public void setAddItemCssClass(String addItemCssClass)
      Setter for the add item css style class
      Specified by:
      setAddItemCssClass in interface CollectionGroup
      Parameters:
      addItemCssClass -
    • isHighlightAddItem

      public boolean isHighlightAddItem()
      Indicates whether the add item group or row should be styled with the #addItemCssClass
      Specified by:
      isHighlightAddItem in interface CollectionGroup
      Returns:
      true if add item group or row must be highlighted
    • setHighlightAddItem

      public void setHighlightAddItem(boolean highlightAddItem)
      Setter for the flag that allows for different styling of the add item group or row
      Specified by:
      setHighlightAddItem in interface CollectionGroup
      Parameters:
      highlightAddItem -
    • isRenderAddBlankLineButton

      public boolean isRenderAddBlankLineButton()
      Indicates that a button will be rendered that allows the user to add blank lines to the collection

      The button will be added separately from the collection items. The default add line wil not be rendered. The action of the button will call the controller, add the blank line to the collection and do a component refresh.

      Specified by:
      isRenderAddBlankLineButton in interface CollectionGroup
      Returns:
      boolean
    • setRenderAddBlankLineButton

      public void setRenderAddBlankLineButton(boolean renderAddBlankLineButton)
      Setter for the flag indicating that the add blank line button must be rendered
      Specified by:
      setRenderAddBlankLineButton in interface CollectionGroup
      Parameters:
      renderAddBlankLineButton -
    • getAddBlankLineAction

      public Action getAddBlankLineAction()
      The add blank line Action field rendered when renderAddBlankLineButton is true
      Specified by:
      getAddBlankLineAction in interface CollectionGroup
      Returns:
      boolean
    • setAddBlankLineAction

      public void setAddBlankLineAction(Action addBlankLineAction)
      Setter for the add blank line Action field
      Specified by:
      setAddBlankLineAction in interface CollectionGroup
      Parameters:
      addBlankLineAction -
    • getAddLinePlacement

      public String getAddLinePlacement()
      Indicates the add line placement

      Valid values are 'TOP' or 'BOTTOM'. The default is 'TOP'. When the value is 'BOTTOM' the blank line will be added to the end of the collection.

      Specified by:
      getAddLinePlacement in interface CollectionGroup
      Returns:
      the add blank line action placement
    • setAddLinePlacement

      public void setAddLinePlacement(String addLinePlacement)
      Setter for the add line placement
      Specified by:
      setAddLinePlacement in interface CollectionGroup
      Parameters:
      addLinePlacement - add line placement string
    • isRenderSaveLineActions

      public boolean isRenderSaveLineActions()
      Indicates whether the save line actions should be rendered
      Specified by:
      isRenderSaveLineActions in interface CollectionGroup
      Returns:
      boolean
    • setRenderSaveLineActions

      public void setRenderSaveLineActions(boolean renderSaveLineActions)
      Setter for the flag indicating whether the save actions should be rendered
      Specified by:
      setRenderSaveLineActions in interface CollectionGroup
      Parameters:
      renderSaveLineActions -
    • isAddWithDialog

      public boolean isAddWithDialog()
      Indicates that a add action should be rendered and that the add group be displayed in a model dialog.
      Specified by:
      isAddWithDialog in interface CollectionGroup
      Returns:
      boolean true if add should be through model dialog, false if not
    • setAddWithDialog

      public void setAddWithDialog(boolean addWithDialog)
      Specified by:
      setAddWithDialog in interface CollectionGroup
      See Also:
    • getAddWithDialogAction

      public Action getAddWithDialogAction()
      The Action that will be displayed that will open the add line group in a dialog.
      Specified by:
      getAddWithDialogAction in interface CollectionGroup
      Returns:
      Action
    • setAddWithDialogAction

      public void setAddWithDialogAction(Action addWithDialogAction)
      Specified by:
      setAddWithDialogAction in interface CollectionGroup
      See Also:
    • getAddLineDialog

      public DialogGroup getAddLineDialog()
      Dialog group to use for the add line when CollectionGroup.isAddWithDialog() is true.

      If dialog group is not set by add with dialog is true, a default dialog group will be created.

      The add line items and actions are still used as usual, unless the items and footer items have been explicity set in the dialog group

      Specified by:
      getAddLineDialog in interface CollectionGroup
      Returns:
      dialog group instance for add line
    • setAddLineDialog

      public void setAddLineDialog(DialogGroup addLineDialog)
      Specified by:
      setAddLineDialog in interface CollectionGroup
      See Also:
    • isUseServerPaging

      public boolean isUseServerPaging()
      Gets useServerPaging, the flag that indicates whether server side paging is enabled. Defaults to false.
      Specified by:
      isUseServerPaging in interface CollectionGroup
      Returns:
      true if server side paging is enabled.
    • setUseServerPaging

      public void setUseServerPaging(boolean useServerPaging)
      Sets useServerPaging, the flag indicating whether server side paging is enabled.
      Specified by:
      setUseServerPaging in interface CollectionGroup
      Parameters:
      useServerPaging - the useServerPaging value to set
    • getPageSize

      public int getPageSize()
      Specified by:
      getPageSize in interface CollectionGroup
    • setPageSize

      public void setPageSize(int pageSize)
      Specified by:
      setPageSize in interface CollectionGroup
    • getDisplayStart

      public int getDisplayStart()
      Gets the displayStart, the index of the first item to display on the page (assuming useServerPaging is enabled).

      if this field has not been set, the returned value will be -1

      Specified by:
      getDisplayStart in interface CollectionGroup
      Returns:
      the index of the first item to display, or -1 if unset
    • setDisplayStart

      public void setDisplayStart(int displayStart)
      Sets the displayStart, the index of the first item to display on the page (assuming useServerPaging is enabled).
      Specified by:
      setDisplayStart in interface CollectionGroup
      Parameters:
      displayStart - the displayStart to set
    • getDisplayLength

      public int getDisplayLength()
      Gets the displayLength, the number of items to display on the page (assuming useServerPaging is enabled).

      if this field has not been set, the returned value will be -1

      Specified by:
      getDisplayLength in interface CollectionGroup
      Returns:
      the number of items to display on the page, or -1 if unset
    • setDisplayLength

      public void setDisplayLength(int displayLength)
      Sets the displayLength, the number of items to display on the page (assuming useServerPaging is enabled).
      Specified by:
      setDisplayLength in interface CollectionGroup
      Parameters:
      displayLength - the displayLength to set
    • getFilteredCollectionSize

      public int getFilteredCollectionSize()
      Gets the number of un-filtered elements from the model collection.

      if this field has not been set, the returned value will be -1

      Specified by:
      getFilteredCollectionSize in interface CollectionGroup
      Returns:
      the filtered collection size, or -1 if unset
    • setFilteredCollectionSize

      public void setFilteredCollectionSize(int filteredCollectionSize)
      Sets the number of un-filtered elements from the model collection.

      This value is used for display and rendering purposes, it has no effect on the model collection

      Specified by:
      setFilteredCollectionSize in interface CollectionGroup
      Parameters:
      filteredCollectionSize - the filtered collection size
    • getTotalCollectionSize

      public int getTotalCollectionSize()
    • setTotalCollectionSize

      public void setTotalCollectionSize(int totalCollectionSize)
    • getTotalColumns

      protected List<String> getTotalColumns()
      Returns:
      list of total columns
    • setTotalColumns

      protected void setTotalColumns(List<String> totalColumns)
      Setter for the total columns
    • completeValidation

      public void completeValidation(ValidationTrace tracer)
      Validates different requirements of component compiling a series of reports detailing information on errors found in the component. Used by the RiceDictionaryValidator.
      Specified by:
      completeValidation in interface CollectionGroup
      Specified by:
      completeValidation in interface Component
      Overrides:
      completeValidation in class GroupBase
      Parameters:
      tracer - Record of component's location
      See Also:
    • isEditWithDialog

      public boolean isEditWithDialog()
      Indicates that an edit action should be rendered and that the edit group be displayed in a model dialog.
      Specified by:
      isEditWithDialog in interface CollectionGroup
      Returns:
      boolean true if edit should be through model dialog, false if not
    • setEditWithDialog

      public void setEditWithDialog(boolean editWithDialog)
      Specified by:
      setEditWithDialog in interface CollectionGroup
      See Also:
    • isCustomEditLineDialog

      public boolean isCustomEditLineDialog()
      Indicates that a custom edit line dialog is provided by the user.
      Specified by:
      isCustomEditLineDialog in interface CollectionGroup
      Returns:
      boolean true if custom edit line dialog
    • setCustomEditLineDialog

      public void setCustomEditLineDialog(boolean customEditLineDialog)
      Specified by:
      setCustomEditLineDialog in interface CollectionGroup
      See Also:
    • getEditLineDialogPrototype

      public DialogGroup getEditLineDialogPrototype()
      Dialog group prototype to use to create the edit line dialog when CollectionGroup.isEditWithDialog() is true.

      If not specified a default prototype edit line dialog will be created with the items from the collection.

      Specified by:
      getEditLineDialogPrototype in interface CollectionGroup
      Returns:
      dialog group prototype for edit line
    • setEditLineDialogPrototype

      public void setEditLineDialogPrototype(DialogGroup editLineDialogPrototype)
      Specified by:
      setEditLineDialogPrototype in interface CollectionGroup
      See Also:
    • getEditWithDialogActionPrototype

      public Action getEditWithDialogActionPrototype()
      The Action that will be displayed that will open the edit line group in a dialog.
      Specified by:
      getEditWithDialogActionPrototype in interface CollectionGroup
      Returns:
      Action
    • setEditWithDialogActionPrototype

      public void setEditWithDialogActionPrototype(Action editWithDialogActionPrototype)
      Specified by:
      setEditWithDialogActionPrototype in interface CollectionGroup
      See Also:
    • getEditInDialogSaveActionPrototype

      public Action getEditInDialogSaveActionPrototype()
      The Action that will be displayed within the edit line group in a dialog.
      Specified by:
      getEditInDialogSaveActionPrototype in interface CollectionGroup
      Returns:
      Action
    • setEditInDialogSaveActionPrototype

      public void setEditInDialogSaveActionPrototype(Action editInDialogSaveActionPrototype)
      Specified by:
      setEditInDialogSaveActionPrototype in interface CollectionGroup
      See Also:
    • getLineDialogs

      public List<DialogGroup> getLineDialogs()
      List of dialog groups that are configured for a line in the collection.
      Specified by:
      getLineDialogs in interface CollectionGroup
      Returns:
      list of dialog group instances
    • setLineDialogs

      public void setLineDialogs(List<DialogGroup> dialogGroups)
      Specified by:
      setLineDialogs in interface CollectionGroup
      See Also: