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

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
                  extended by org.kuali.rice.krad.uif.container.Group
All Implemented Interfaces:
Serializable, DictionaryBean, UifDictionaryBean, Component, ScriptEventSupport, Container, Helpable, org.springframework.core.Ordered
Direct Known Subclasses:
CollectionGroup, DialogGroup, LinkGroup, NavigationGroup, PageGroup, ReorderingGroup, TabGroup, TreeGroup

public class Group
extends ContainerBase

Container that holds a list of Field or other Group instances

Groups can exist at different levels of the View, providing conceptual groupings such as the page, section, and group. In addition, other group types can be created to add behavior like collection support

Group implementation has properties for defaulting the binding information (such as the parent object path and a binding prefix) for the fields it contains. During the phase these properties (if given) are set on the fields contained in the Group that implement DataBinding, unless they have already been set on the field.

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
Group()
          Default Constructor
 
Method Summary
 ArrayList<ErrorReport> completeValidation(TracerToken tracer)
          Validates different requirements of component compiling a series of reports detailing information on errors found in the component.
 List<Component> getComponentsForLifecycle()
          List of components that are contained within the component and should be sent through the lifecycle
 String getComponentTypeName()
          The name for the component type
 Disclosure getDisclosure()
          Disclosure widget that provides collapse/expand functionality for the group
 String getFieldBindByNamePrefix()
          Binding prefix string to set on each of the groups DataField instances
 String getFieldBindingObjectPath()
          Object binding path to set on each of the group's InputField instances
 List<? extends Component> getItems()
          List of Component instances that are held by the container
 Scrollpane getScrollpane()
          Scrollpane widget that provides scrolling functionality for the group
 Set<Class<? extends Component>> getSupportedComponents()
          Set of Component classes that may be placed into the container
 void performInitialization(View view, Object model)
          The following actions are performed: Sets the bindByNamePrefix if blank on any InputField and FieldGroup instances within the items List
 void setDisclosure(Disclosure disclosure)
          Setter for the group's disclosure instance
 void setFieldBindByNamePrefix(String fieldBindByNamePrefix)
          Setter for the field binding prefix
 void setFieldBindingObjectPath(String fieldBindingObjectPath)
          Setter for the field object binding path
 void setItems(List<? extends Component> items)
          Setter for the Group's list of components
 void setScrollpane(Scrollpane scrollpane)
          Setter for the group's scrollpane instance
 
Methods inherited from class org.kuali.rice.krad.uif.container.ContainerBase
getComponentPrototypes, getDefaultItemPosition, getFooter, getHeader, getHeaderText, getHelp, getHelpTitle, getInstructionalMessage, getInstructionalText, getLayoutManager, getValidationMessages, performApplyModel, performFinalize, setDefaultItemPosition, setFooter, setHeader, setHeaderText, setHelp, setInstructionalMessage, setInstructionalText, setLayoutManager, setRenderFooter, setRenderHeader, setTooltipOfComponent, setValidationMessages
 
Methods inherited from class org.kuali.rice.krad.uif.component.ComponentBase
addDataAttribute, addDataAttributeIfNonEmpty, addStyleClass, appendToStyle, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAlign, getAllDataAttributesJs, getBaseId, 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, isForceSessionPersistence, isHidden, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isReadOnly, isRefreshedByAction, isRender, isResetDataOnRefresh, isSelfRendered, isSkipInTabOrder, pushAllToContext, pushObjectToContext, pushToPropertyReplacerContext, setAdditionalComponentsToRefresh, setAlign, setBaseId, setColSpan, setComponentModifiers, setComponentSecurity, setConditionalRefresh, setContext, setCssClasses, setDataAttributes, setDisableSessionPersistence, 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.component.Component
addDataAttribute, addStyleClass, appendToStyle, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAllDataAttributesJs, getBaseId, getColSpan, getComplexDataAttributesJs, getComponentModifiers, getComponentSecurity, 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, isDisableSessionPersistence, isForceSessionPersistence, isHidden, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isReadOnly, isRefreshedByAction, isRender, isResetDataOnRefresh, isSelfRendered, pushAllToContext, pushObjectToContext, setAdditionalComponentsToRefresh, setBaseId, setColSpan, setComponentModifiers, setComponentSecurity, setConditionalRefresh, setContext, setCssClasses, setDataAttributes, setDisableSessionPersistence, setForceSessionPersistence, setHidden, setId, setOrder, setProgressiveRender, setProgressiveRenderAndRefresh, setProgressiveRenderViaAJAX, setPropertyReplacers, setReadOnly, setRefreshedByAction, setRefreshTimer, setRefreshWhenChangedPropertyNames, setRender, setRenderedHtmlOutput, setRequired, setResetDataOnRefresh, setRowSpan, setSelfRendered, setStyle, setTemplate, setTemplateOptions, setTemplateOptionsJSString, setTitle, setToolTip
 
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

Group

public Group()
Default Constructor

Method Detail

performInitialization

public void performInitialization(View view,
                                  Object model)
The following actions are performed:

Specified by:
performInitialization in interface Component
Overrides:
performInitialization in class ContainerBase
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)

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 ContainerBase
Returns:
List child components
See Also:
ComponentBase.getComponentsForLifecycle()

getSupportedComponents

public Set<Class<? extends Component>> getSupportedComponents()
Description copied from interface: Container
Set of Component classes that may be placed into the container

If an empty or null list is returned, it is assumed the container supports all components. The returned set will be used by dictionary validators and allows renders to make assumptions about the contained components

Returns:
Set component classes
See Also:
Container.getSupportedComponents()

getComponentTypeName

public String getComponentTypeName()
Description copied from interface: Component
The name for the component type

This is used within the rendering layer to pass the component instance into the template. The component instance is exported under the name given by this method.

Returns:
String type name
See Also:
Component.getComponentTypeName()

getFieldBindByNamePrefix

public String getFieldBindByNamePrefix()
Binding prefix string to set on each of the groups DataField instances

As opposed to setting the bindingPrefix on each attribute field instance, it can be set here for the group. During initialize the string will then be set on each attribute field instance if the bindingPrefix is blank and not a form field

Returns:
String binding prefix to set

setFieldBindByNamePrefix

public void setFieldBindByNamePrefix(String fieldBindByNamePrefix)
Setter for the field binding prefix

Parameters:
fieldBindByNamePrefix -

getFieldBindingObjectPath

public String getFieldBindingObjectPath()
Object binding path to set on each of the group's InputField instances

When the attributes of the group belong to a object whose path is different from the default then this property can be given to set each of the attributes instead of setting the model path on each one. The object path can be overridden at the attribute level. The object path is set to the fieldBindingObjectPath during the initialize phase.

Returns:
String model path to set
See Also:
BindingInfo.getBindingObjectPath()

setFieldBindingObjectPath

public void setFieldBindingObjectPath(String fieldBindingObjectPath)
Setter for the field object binding path

Parameters:
fieldBindingObjectPath -

getDisclosure

public Disclosure getDisclosure()
Disclosure widget that provides collapse/expand functionality for the group

Returns:
Disclosure instance

setDisclosure

public void setDisclosure(Disclosure disclosure)
Setter for the group's disclosure instance

Parameters:
disclosure -

getScrollpane

public Scrollpane getScrollpane()
Scrollpane widget that provides scrolling functionality for the group

Returns:
Scrollpane instance

setScrollpane

public void setScrollpane(Scrollpane scrollpane)
Setter for the group's scrollpane instance

Parameters:
scrollpane -

getItems

public 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
Specified by:
getItems in class ContainerBase
Returns:
List component instances
See Also:
ContainerBase.getItems()

setItems

public void setItems(List<? extends Component> items)
Setter for the Group's list of components

Specified by:
setItems in interface Container
Specified by:
setItems in class ContainerBase
Parameters:
items -

completeValidation

public ArrayList<ErrorReport> completeValidation(TracerToken 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 ContainerBase
Parameters:
tracer - Record of component's location
Returns:
A list of ErrorReports detailing errors found within the component and referenced within it
See Also:
Component.completeValidation(org.kuali.rice.krad.datadictionary.validator.TracerToken)


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