org.kuali.rice.krad.uif.container
Class ContainerBase

java.lang.Object
  extended by org.kuali.rice.krad.datadictionary.DictionaryBeanBase
      extended by org.kuali.rice.krad.datadictionary.uif.UifDictionaryBeanBase
          extended by org.kuali.rice.krad.uif.component.ComponentBase
              extended by org.kuali.rice.krad.uif.container.ContainerBase
All Implemented Interfaces:
Serializable, DictionaryBean, UifDictionaryBean, Component, ScriptEventSupport, Container, Helpable, org.springframework.core.Ordered
Direct Known Subclasses:
Group, View

public abstract class ContainerBase
extends ComponentBase
implements Container

Base Container implementation which container implementations can extend

Provides properties for the basic Container functionality in addition to default implementation of the lifecycle methods including some setup of the header, items list, and layout manager

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.kuali.rice.krad.uif.component.Ordered
INITIAL_ORDER_VALUE
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
ContainerBase()
          Default Constructor
 
Method Summary
 void completeValidation(ValidationTrace tracer)
          Validates different requirements of component compiling a series of reports detailing information on errors found in the component.
 List<Component> getComponentPrototypes()
          List of components that are maintained by the component as prototypes for creating other component instances
 List<Component> getComponentsForLifecycle()
          List of components that are contained within the component and should be sent through the lifecycle
 int getDefaultItemPosition()
          For Component instances in the container's items list that do not have an order set, a default order number will be assigned using this property.
 Group getFooter()
          Footer Group associated with the container
 Header getHeader()
          HeaderField associated with the container
 String getHeaderText()
          Convenience getter for the header text
 Help getHelp()
          Help configuration object for the container
 String getHelpTitle()
          Return the container header text for the help title
 Message getInstructionalMessage()
          Message field that displays instructional text
 String getInstructionalText()
          Text explaining how complete the group inputs, including things like what values should be selected in certain cases, what fields should be completed and so on (instructions)
abstract  List<? extends Component> getItems()
          List of Component instances that are held by the container
 LayoutManager getLayoutManager()
          LayoutManager that should be used to layout the components in the container
 ValidationMessages getValidationMessages()
          Field that contains the error messages for the container
 void performApplyModel(View view, Object model, Component 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
 void performFinalize(View view, Object model, Component parent)
          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
 void performInitialization(View view, Object model)
          The following initialization is performed: Sorts the containers list of components Initializes the instructional field if necessary Initializes LayoutManager
 void setDefaultItemPosition(int defaultItemPosition)
          Setter for the container's item ordering sequence number (initial value)
 void setFooter(Group footer)
          Setter for the containers footer
 void setHeader(Header header)
          Setter for the containers header field
 void setHeaderText(String headerText)
          Convenience setter for configuration to set the header text
 void setHelp(Help help)
          Setter for the containers help content
 void setInstructionalMessage(Message instructionalMessage)
          Setter for the instructional text message field
 void setInstructionalText(String instructionalText)
          Setter for the instructional message
abstract  void setItems(List<? extends Component> items)
          Setter for the containers list of components
 void setLayoutManager(LayoutManager layoutManager)
          Setter for the containers layout manager
 void setRenderFooter(boolean renderFooter)
          Convenience setter for configuration to turn rendering of the footer on/off
 void setRenderHeader(boolean renderHeader)
          Convenience setter for configuration to turn rendering of the header on/off
 void setTooltipOfComponent(Tooltip tooltip)
          For containers the help tooltip is placed on the header.
 void setValidationMessages(ValidationMessages validationMessages)
          Setter for the containers errors field
protected  void sortItems(View view, Object model)
          Performs sorting of the container items based on the order property
 
Methods inherited from class org.kuali.rice.krad.uif.component.ComponentBase
addCellCssClass, addDataAttribute, addDataAttributeIfNonEmpty, addStyleClass, appendToStyle, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAlign, getAllDataAttributesJs, getBaseId, getCellCssClasses, getCellStyle, getCellStyleClassesAsString, getCellWidth, getColSpan, getComplexDataAttributesJs, getComponentModifiers, getComponentSecurity, getComponentSecurityClass, getConditionalRefresh, getConditionalRefreshConditionJs, getConditionalRefreshControlNames, getContext, getCssClasses, getDataAttributes, getFinalizeMethodAdditionalArguments, getFinalizeMethodInvoker, getFinalizeMethodToCall, getId, getMethodToCallOnRefresh, getOnBlurScript, getOnChangeScript, getOnClickScript, getOnCloseScript, getOnDblClickScript, getOnDocumentReadyScript, getOnFocusScript, getOnKeyDownScript, getOnKeyPressScript, getOnKeyUpScript, getOnLoadScript, getOnMouseDownScript, getOnMouseMoveScript, getOnMouseOutScript, getOnMouseOverScript, getOnMouseUpScript, getOnSubmitScript, getOnUnloadScript, getOrder, getProgressiveDisclosureConditionJs, getProgressiveDisclosureControlNames, getProgressiveRender, getPropertyReplacerComponents, getPropertyReplacers, getRefreshTimer, getRefreshWhenChangedPropertyNames, getRenderedHtmlOutput, getRequired, getRowSpan, getSimpleDataAttributes, getStyle, getStyleClassesAsString, getTemplate, getTemplateName, getTemplateOptions, getTemplateOptionsJSString, getTitle, getToolTip, getValign, getWidth, isDisableSessionPersistence, isDisclosedByAction, isForceSessionPersistence, isHidden, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isReadOnly, isRefreshedByAction, isRender, isResetDataOnRefresh, isSelfRendered, isSkipInTabOrder, pushAllToContext, pushObjectToContext, pushToPropertyReplacerContext, setAdditionalComponentsToRefresh, setAlign, setBaseId, setCellCssClasses, setCellStyle, setCellWidth, setColSpan, setComponentModifiers, setComponentSecurity, setConditionalRefresh, setContext, setCssClasses, setDataAttributes, setDisableSessionPersistence, setDisclosedByAction, setFinalizeMethodAdditionalArguments, setFinalizeMethodInvoker, setFinalizeMethodToCall, setForceSessionPersistence, setHidden, setId, setMethodToCallOnRefresh, setOnBlurScript, setOnChangeScript, setOnClickScript, setOnCloseScript, setOnDblClickScript, setOnDocumentReadyScript, setOnFocusScript, setOnKeyDownScript, setOnKeyPressScript, setOnKeyUpScript, setOnLoadScript, setOnMouseDownScript, setOnMouseMoveScript, setOnMouseOutScript, setOnMouseOverScript, setOnMouseUpScript, setOnSubmitScript, setOnUnloadScript, setOrder, setProgressiveRender, setProgressiveRenderAndRefresh, setProgressiveRenderViaAJAX, setPropertyReplacers, setReadOnly, setRefreshedByAction, setRefreshTimer, setRefreshWhenChangedPropertyNames, setRender, setRenderedHtmlOutput, setRequired, setResetDataOnRefresh, setRowSpan, setSelfRendered, setSkipInTabOrder, setStyle, setTemplate, setTemplateName, setTemplateOptions, setTemplateOptionsJSString, setTitle, setToolTip, setValign, setWidth
 
Methods inherited from class org.kuali.rice.krad.datadictionary.uif.UifDictionaryBeanBase
getExpressionGraph, getPropertyExpression, getPropertyExpressions, getRefreshExpressionGraph, setExpressionGraph, setPropertyExpressions, setRefreshExpressionGraph
 
Methods inherited from class org.kuali.rice.krad.datadictionary.DictionaryBeanBase
getComponentCode, getNamespaceCode, setComponentCode, setNamespaceCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.kuali.rice.krad.uif.container.Container
getSupportedComponents
 
Methods inherited from interface org.kuali.rice.krad.uif.component.Component
addCellCssClass, addDataAttribute, addStyleClass, appendToStyle, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAlign, getAllDataAttributesJs, getBaseId, getCellCssClasses, getCellStyle, getCellWidth, getColSpan, getComplexDataAttributesJs, getComponentModifiers, getComponentSecurity, getComponentTypeName, getConditionalRefresh, getConditionalRefreshConditionJs, getConditionalRefreshControlNames, getContext, getCssClasses, getDataAttributes, getFinalizeMethodAdditionalArguments, getFinalizeMethodInvoker, getFinalizeMethodToCall, getId, getOrder, getProgressiveDisclosureConditionJs, getProgressiveDisclosureControlNames, getProgressiveRender, getPropertyReplacerComponents, getPropertyReplacers, getRefreshTimer, getRefreshWhenChangedPropertyNames, getRenderedHtmlOutput, getRequired, getRowSpan, getSimpleDataAttributes, getStyle, getTemplate, getTemplateOptions, getTemplateOptionsJSString, getTitle, getToolTip, getValign, getWidth, isDisableSessionPersistence, isDisclosedByAction, isForceSessionPersistence, isHidden, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isReadOnly, isRefreshedByAction, isRender, isResetDataOnRefresh, isSelfRendered, pushAllToContext, pushObjectToContext, setAdditionalComponentsToRefresh, setAlign, setBaseId, setCellCssClasses, setCellStyle, setCellWidth, setColSpan, setComponentModifiers, setComponentSecurity, setConditionalRefresh, setContext, setCssClasses, setDataAttributes, setDisableSessionPersistence, setDisclosedByAction, setForceSessionPersistence, setHidden, setId, setOrder, setProgressiveRender, setProgressiveRenderAndRefresh, setProgressiveRenderViaAJAX, setPropertyReplacers, setReadOnly, setRefreshedByAction, setRefreshTimer, setRefreshWhenChangedPropertyNames, setRender, setRenderedHtmlOutput, setRequired, setResetDataOnRefresh, setRowSpan, setSelfRendered, setStyle, setTemplate, setTemplateOptions, setTemplateOptionsJSString, setTitle, setToolTip, setValign, setWidth
 
Methods inherited from interface org.kuali.rice.krad.datadictionary.uif.UifDictionaryBean
getExpressionGraph, getPropertyExpression, getPropertyExpressions, getRefreshExpressionGraph, setExpressionGraph, setPropertyExpressions, setRefreshExpressionGraph
 
Methods inherited from interface org.kuali.rice.krad.datadictionary.DictionaryBean
getComponentCode, getNamespaceCode
 
Methods inherited from interface org.kuali.rice.krad.uif.component.ScriptEventSupport
getOnBlurScript, getOnChangeScript, getOnClickScript, getOnCloseScript, getOnDblClickScript, getOnDocumentReadyScript, getOnFocusScript, getOnKeyDownScript, getOnKeyPressScript, getOnKeyUpScript, getOnLoadScript, getOnMouseDownScript, getOnMouseMoveScript, getOnMouseOutScript, getOnMouseOverScript, getOnMouseUpScript, getOnSubmitScript, getOnUnloadScript, setOnBlurScript, setOnLoadScript
 

Constructor Detail

ContainerBase

public ContainerBase()
Default Constructor

Method Detail

performInitialization

public void performInitialization(View view,
                                  Object model)
The following initialization is performed:

Specified by:
performInitialization in interface Component
Overrides:
performInitialization in class ComponentBase
Parameters:
view - - view instance in which the component belongs
model - - object instance containing the view data
See Also:
ComponentBase.performInitialization(org.kuali.rice.krad.uif.view.View, java.lang.Object)

performApplyModel

public void performApplyModel(View view,
                              Object model,
                              Component parent)
Description copied from class: ComponentBase
The following updates are done here:

Specified by:
performApplyModel in interface Component
Overrides:
performApplyModel in class ComponentBase
Parameters:
view - - view instance to which the component belongs
model - - Top level object containing the data (could be the form or a top level business object, dto)
See Also:
ComponentBase.performApplyModel(org.kuali.rice.krad.uif.view.View, java.lang.Object, org.kuali.rice.krad.uif.component.Component)

performFinalize

public void performFinalize(View view,
                            Object model,
                            Component parent)
The following finalization is performed:

Specified by:
performFinalize in interface Component
Overrides:
performFinalize in class ComponentBase
Parameters:
view - - view instance that should be finalized for rendering
model - - top level object containing the data
parent - - parent component
See Also:
ComponentBase.performFinalize(org.kuali.rice.krad.uif.view.View, java.lang.Object, org.kuali.rice.krad.uif.component.Component)

getComponentsForLifecycle

public List<Component> getComponentsForLifecycle()
Description copied from interface: Component
List of components that are contained within the component and should be sent through the lifecycle

Used by ViewHelperService for the various lifecycle callbacks

Specified by:
getComponentsForLifecycle in interface Component
Overrides:
getComponentsForLifecycle in class ComponentBase
Returns:
List child components
See Also:
ComponentBase.getComponentsForLifecycle()

getComponentPrototypes

public List<Component> getComponentPrototypes()
Description copied from interface: Component
List of components that are maintained by the component as prototypes for creating other component instances

Prototypes are held for configuring how a component should be created during the lifecycle. An example of this are the fields in a collection group that are created for each collection record. They only participate in the initialize phase.

Specified by:
getComponentPrototypes in interface Component
Overrides:
getComponentPrototypes in class ComponentBase
Returns:
List child component prototypes
See Also:
Component.getComponentPrototypes()

sortItems

protected void sortItems(View view,
                         Object model)
Performs sorting of the container items based on the order property

Parameters:
view - view instance containing the container
model - model object containing the view data

getValidationMessages

public ValidationMessages getValidationMessages()
Description copied from interface: Container
Field that contains the error messages for the container

Containers can collect the errors for the contained component and display either all the messages or counts. This Field is used to render those messages. Styling and other configuration is done through the ValidationMessages

Specified by:
getValidationMessages in interface Container
Returns:
ValidationMessages holding the container errors
See Also:
Container.getValidationMessages()

setValidationMessages

public void setValidationMessages(ValidationMessages validationMessages)
Description copied from interface: Container
Setter for the containers errors field

Specified by:
setValidationMessages in interface Container
See Also:
Container.setValidationMessages(org.kuali.rice.krad.uif.element.ValidationMessages)

getHelp

public Help getHelp()
Description copied from interface: Helpable
Help configuration object for the container

External help information can be configured for the container. The Help object can the configuration for rendering a link to that help information.

Specified by:
getHelp in interface Helpable
Returns:
Help for container
See Also:
Helpable.getHelp()

setHelp

public void setHelp(Help help)
Description copied from interface: Helpable
Setter for the containers help content

Specified by:
setHelp in interface Helpable
See Also:
Helpable.setHelp(org.kuali.rice.krad.uif.widget.Help)

setTooltipOfComponent

public void setTooltipOfComponent(Tooltip tooltip)
For containers the help tooltip is placed on the header.

Specified by:
setTooltipOfComponent in interface Helpable
See Also:
Helpable.setTooltipOfComponent(org.kuali.rice.krad.uif.widget.Tooltip)

getHelpTitle

public String getHelpTitle()
Return the container header text for the help title

Specified by:
getHelpTitle in interface Helpable
Returns:
container title
See Also:
Helpable.setTooltipOfComponent(org.kuali.rice.krad.uif.widget.Tooltip)

getItems

public abstract List<? extends Component> getItems()
Description copied from interface: Container
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
Returns:
List component instances
See Also:
Container.getItems()

setItems

public abstract void setItems(List<? extends Component> items)
Setter for the containers list of components

Specified by:
setItems in interface Container
Parameters:
items -

getDefaultItemPosition

public int getDefaultItemPosition()
For Component instances in the container's items list that do not have an order set, a default order number will be assigned using this property. The first component found in the list without an order will be assigned the configured initial value, and incremented by one for each component (without an order) found afterwards

Returns:
int order sequence

setDefaultItemPosition

public void setDefaultItemPosition(int defaultItemPosition)
Setter for the container's item ordering sequence number (initial value)

Parameters:
defaultItemPosition -

getLayoutManager

public LayoutManager getLayoutManager()
Description copied from interface: Container
LayoutManager that should be used to layout the components in the container

The template associated with the layout manager will be invoked passing in the List of components from the container. This list is exported under the attribute name 'items'

Specified by:
getLayoutManager in interface Container
Returns:
LayoutManager instance
See Also:
Container.getLayoutManager()

setLayoutManager

public void setLayoutManager(LayoutManager layoutManager)
Description copied from interface: Container
Setter for the containers layout manager

Specified by:
setLayoutManager in interface Container
See Also:
Container.setLayoutManager(org.kuali.rice.krad.uif.layout.LayoutManager)

getHeader

public Header getHeader()
Description copied from interface: Container
HeaderField associated with the container

Header fields are generally rendered at the beginning of the container to indicate a grouping, although this is determined by the template associated with the container. The actual rendering configuration (style and so on) is configured within the HeaderField instance

Header is only rendered if Container#isRenderHeader is true and getHeader() is not null

Specified by:
getHeader in interface Container
Returns:
HeaderField instance or Null
See Also:
Container.getHeader()

setHeader

public void setHeader(Header header)
Description copied from interface: Container
Setter for the containers header field

Specified by:
setHeader in interface Container
See Also:
Container.setHeader(org.kuali.rice.krad.uif.element.Header)

getFooter

public Group getFooter()
Description copied from interface: Container
Footer Group associated with the container

The footer is usually rendered at the end of the container. Often this is a place to put actions (buttons) for the container.

Footer is only rendered if Container#isRenderFooter is true and getFooter is not null

Specified by:
getFooter in interface Container
Returns:
Group footer instance or Null
See Also:
Container.getFooter()

setFooter

public void setFooter(Group footer)
Description copied from interface: Container
Setter for the containers footer

Specified by:
setFooter in interface Container
See Also:
Container.setFooter(org.kuali.rice.krad.uif.container.Group)

setRenderHeader

public void setRenderHeader(boolean renderHeader)
Convenience setter for configuration to turn rendering of the header on/off

For nested groups (like Field Groups) it is often necessary to only show the container body (the contained components). This method allows the header to not be displayed

Parameters:
renderHeader -

getHeaderText

public String getHeaderText()
Convenience getter for the header text

Returns:
The text that should be displayed on the header

setHeaderText

public void setHeaderText(String headerText)
Convenience setter for configuration to set the header text

Parameters:
headerText - the text that should be displayed on the header.

setRenderFooter

public void setRenderFooter(boolean renderFooter)
Convenience setter for configuration to turn rendering of the footer on/off

For nested groups it is often necessary to only show the container body (the contained components). This method allows the footer to not be displayed

Parameters:
renderFooter -

getInstructionalText

public String getInstructionalText()
Text explaining how complete the group inputs, including things like what values should be selected in certain cases, what fields should be completed and so on (instructions)

Returns:
String instructional message

setInstructionalText

public void setInstructionalText(String instructionalText)
Setter for the instructional message

Parameters:
instructionalText -

getInstructionalMessage

public Message getInstructionalMessage()
Message field that displays instructional text

This message field can be configured to for adjusting how the instructional text will display. Generally the styleClasses property will be of most interest

Specified by:
getInstructionalMessage in interface Container
Returns:
Message instructional message field

setInstructionalMessage

public void setInstructionalMessage(Message instructionalMessage)
Setter for the instructional text message field

Note this is the setter for the field that will render the instructional text. The actual text can be set on the field but can also be set using setInstructionalText(String)

Specified by:
setInstructionalMessage in interface Container
Parameters:
instructionalMessage -

completeValidation

public void completeValidation(ValidationTrace tracer)
Description copied from interface: Component
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 Component
Overrides:
completeValidation in class ComponentBase
Parameters:
tracer - Record of component's location
See Also:
Component.completeValidation(org.kuali.rice.krad.datadictionary.validator.ValidationTrace)


Copyright © 2005-2013 The Kuali Foundation. All Rights Reserved.