|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.kuali.rice.krad.uif.component.ConfigurableBase
org.kuali.rice.krad.uif.component.ComponentBase
public abstract class ComponentBase
Base implementation of Component
which other component
implementations should extend
Provides base component properties such as id and template. Also provides
default implementation for the ScriptEventSupport
and
Ordered
interfaces. By default no script events except the
onDocumentReady are supported.
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 | |
---|---|
ComponentBase()
|
Method Summary | |
---|---|
void |
addStyleClass(String styleClass)
Adds a single style to the list of styles on this component |
void |
appendToStyle(String styleRules)
TODO: javadoc |
String |
getAlign()
Horizontal alignment of the component within its container |
int |
getColSpan()
Number of places the component should take up horizontally in the container |
List<ComponentModifier> |
getComponentModifiers()
ComponentModifier instances that should be invoked to
initialize the component |
Map<String,String> |
getComponentOptions()
Options that are passed through to the Component renderer. |
String |
getComponentOptionsJSString()
Builds a string from the underlying Map of component options
that will export that options as a JavaScript Map for use in js and
jQuery plugins |
List<Component> |
getComponentPrototypes()
List of components that are maintained by the component as prototypes for creating other component instances |
ComponentSecurity |
getComponentSecurity()
Security object that indicates what authorization (permissions) exist for the component |
protected Class<? extends ComponentSecurity> |
getComponentSecurityClass()
Returns the security class that is associated with the component (used for initialization and validation) |
List<Component> |
getComponentsForLifecycle()
List of components that are contained within the component and should be sent through the lifecycle |
String |
getConditionalRefresh()
When set if the condition is satisfied, the component will be refreshed. |
String |
getConditionalRefreshConditionJs()
The condition to refresh this component converted to a js expression, set internally cannot be set. |
List<String> |
getConditionalRefreshControlNames()
Control names used to control conditional refresh, set internally cannot be set. |
Map<String,Object> |
getContext()
Context map for the component |
String |
getEventCode()
|
String |
getFactoryId()
Holds the id for the component that can be used to request new instances of that component from the ComponentFactory |
List<Object> |
getFinalizeMethodAdditionalArguments()
List of Object instances that should be passed as arguments to the finalize method |
MethodInvokerConfig |
getFinalizeMethodInvoker()
MethodInvokerConfig instance for the method that should be invoked
for finalizing the component configuration |
String |
getFinalizeMethodToCall()
Name of the method that should be invoked for finalizing the component configuration (full method name, without parameters or return type) |
String |
getId()
The unique id (within a given tree) for the component |
String |
getOnBlurScript()
Script that should be executed when the component's onBlur event is fired |
String |
getOnChangeScript()
Script that should be executed when the component's onChange event is fired |
String |
getOnClickScript()
Script that should be executed when the component's onClick event is fired |
String |
getOnCloseScript()
Script that should be executed when the component's onClose event is fired |
String |
getOnDblClickScript()
Script that should be executed when the component's onDblClick event is fired |
String |
getOnDocumentReadyScript()
Script to be run when the document ready event is triggered |
String |
getOnFocusScript()
Script that should be executed when the component's onFocus event is fired |
String |
getOnKeyDownScript()
Script that should be executed when the component's onKeyDown event is fired |
String |
getOnKeyPressScript()
Script that should be executed when the component's onKeyPress event is fired |
String |
getOnKeyUpScript()
Script that should be executed when the component's onKeyUp event is fired |
String |
getOnLoadScript()
Script that should be executed when the component's onLoad event is fired |
String |
getOnMouseDownScript()
Script that should be executed when the component's onMouseDown event is fired |
String |
getOnMouseMoveScript()
Script that should be executed when the component's onMouseMove event is fired |
String |
getOnMouseOutScript()
Script that should be executed when the component's onMouseOut event is fired |
String |
getOnMouseOverScript()
Script that should be executed when the component's onMouseOver event is fired |
String |
getOnMouseUpScript()
Script that should be executed when the component's onMouseUp event is fired |
String |
getOnSubmitScript()
Script that should be executed when the component's onSubmit event is fired |
String |
getOnUnloadScript()
Script that should be executed when the component's onUnload event is fired |
int |
getOrder()
Can be used to order a component within a List of other components, lower numbers are placed higher up in the list, while higher numbers are placed lower in the list |
String |
getProgressiveDisclosureConditionJs()
The condition to show this component progressively converted to a js expression, set internally cannot be set. |
List<String> |
getProgressiveDisclosureControlNames()
Control names used to control progressive disclosure, set internally cannot be set. |
String |
getProgressiveRender()
When set if the condition is satisfied, the component will be displayed. |
List<Component> |
getPropertyReplacerComponents()
Returns list of components that are being held in property replacers configured for this component |
List<PropertyReplacer> |
getPropertyReplacers()
List of PropertyReplacer instances that will be evaluated
during the view lifecycle to conditionally set properties on the
Component based on expression evaluations |
String |
getRefreshDiscloseMethodToCall()
Name of a method on the controller that should be invoked as part of the component refresh and disclosure process |
String |
getRefreshWhenChanged()
Specifies a property by name that when it value changes will automatically perform a refresh on this component. |
List<String> |
getRefreshWhenChangedControlNames()
Control names which will refresh this component when they are changed, added internally |
String |
getRenderOutput()
Rendering output for the component that will be sent as part of the response (can contain static text and HTML) |
Boolean |
getRequired()
Indicates whether the component is required |
int |
getRowSpan()
Number of places the component should take up vertically in the container |
String |
getStyle()
CSS style string to be applied to the component |
List<String> |
getStyleClasses()
CSS style class(s) to be applied to the component |
String |
getStyleClassesAsString()
Builds the HTML class attribute string by combining the styleClasses list with a space delimiter |
boolean |
getSupportsOnBlur()
Indicates whether the component supports the onBlur event |
boolean |
getSupportsOnChange()
Indicates whether the component supports the onChange event |
boolean |
getSupportsOnClick()
Indicates whether the component supports the onClick event |
boolean |
getSupportsOnClose()
Indicates whether the component supports the onClose event |
boolean |
getSupportsOnDblClick()
Indicates whether the component supports the onDblClick event |
boolean |
getSupportsOnDocumentReady()
Indicates whether the component supports the document ready event |
boolean |
getSupportsOnFocus()
Indicates whether the component supports the onFocus event |
boolean |
getSupportsOnKeyDown()
Indicates whether the component supports the onKeyDown event |
boolean |
getSupportsOnKeyPress()
Indicates whether the component supports the onKeyPress event |
boolean |
getSupportsOnKeyUp()
Indicates whether the component supports the onKeyUp event |
boolean |
getSupportsOnLoad()
Indicates whether the component supports the onLoad event |
boolean |
getSupportsOnMouseDown()
Indicates whether the component supports the onMouseDown event |
boolean |
getSupportsOnMouseMove()
Indicates whether the component supports the onMouseMove event |
boolean |
getSupportsOnMouseOut()
Indicates whether the component supports the onMouseOut event |
boolean |
getSupportsOnMouseOver()
Indicates whether the component supports the onMouseOver event |
boolean |
getSupportsOnMouseUp()
Indicates whether the component supports the onMouseUp event |
boolean |
getSupportsOnSubmit()
Indicates whether the component supports the onSubmit event |
boolean |
getSupportsOnUnload()
Indicates whether the component supports the onUnload event |
String |
getTemplate()
The path to the JSP file that should be called to render the component |
String |
getTitle()
A title for the component. |
String |
getValign()
Vertical alignment of the component within its container |
String |
getWidth()
Width the component should take up in the container |
boolean |
isHidden()
Indicates whether the component should be hidden in the UI |
boolean |
isPersistInSession()
Indicates whether the component should be stored with the session view regardless of configuration |
boolean |
isProgressiveRenderAndRefresh()
If true, when the progressiveRender condition is satisfied, the component will always be retrieved from the server and shown(as opposed to being stored on the client, but hidden, after the first retrieval as is the case with the progressiveRenderViaAJAX option). |
boolean |
isProgressiveRenderViaAJAX()
When progressiveRenderViaAJAX is true, this component will be retrieved from the server when it first satisfies its progressive render condition. |
boolean |
isReadOnly()
Indicates whether the component can be edited |
boolean |
isRefresh()
Result of the conditionalRefresh expression, true if satisfied, otherwise false. |
boolean |
isRefreshedByAction()
Indicates the component can be refreshed by an action |
boolean |
isRender()
Indicates whether the component should be rendered in the UI |
boolean |
isResetDataOnRefresh()
Indicates whether data contained within the component should be reset (set to default) when the component is refreshed |
boolean |
isSelfRendered()
Indicates whether the component contains its own render output (through the renderOutput property) |
boolean |
isSkipInTabOrder()
Flag indicating that this component and its nested components must be skipped when keyboard tabbing. |
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 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 |
void |
performInitialization(View view,
Object model)
The following updates are done here: |
void |
pushAllToContext(Map<String,Object> objects)
Places each entry of the given Map into the context for the component |
void |
pushObjectToContext(String objectName,
Object object)
Places the given object into the context Map for the component with the given name |
protected void |
pushToPropertyReplacerContext(String objectName,
Object object)
|
void |
setAlign(String align)
Sets the components horizontal alignment |
void |
setColSpan(int colSpan)
Setter for the components column span |
void |
setComponentModifiers(List<ComponentModifier> componentModifiers)
Setter for the components List of ComponentModifier
instances |
void |
setComponentOptions(Map<String,String> componentOptions)
Setter for the widget's options |
void |
setComponentOptionsJSString(String componentOptionsJSString)
Setter for the widget's options |
void |
setComponentSecurity(ComponentSecurity componentSecurity)
Setter for the components security object |
void |
setConditionalRefresh(String conditionalRefresh)
|
void |
setContext(Map<String,Object> context)
Setter for the context Map |
void |
setFactoryId(String factoryId)
Sets the factory id that backs the component instance |
void |
setFinalizeMethodAdditionalArguments(List<Object> finalizeMethodAdditionalArguments)
Setter for the finalize additional arguments list |
void |
setFinalizeMethodInvoker(MethodInvokerConfig finalizeMethodInvoker)
Setter for the method invoker instance |
void |
setFinalizeMethodToCall(String finalizeMethodToCall)
Setter for the finalize method |
void |
setHidden(boolean hidden)
Setter for the hidden indicator |
void |
setId(String id)
Sets the unique id (within a given tree) for the component |
void |
setOnBlurScript(String onBlurScript)
Setter for the components onBlur script |
void |
setOnChangeScript(String onChangeScript)
Setter for the components onChange script |
void |
setOnClickScript(String onClickScript)
Setter for the components onClick script |
void |
setOnCloseScript(String onCloseScript)
Setter for the components onClose script |
void |
setOnDblClickScript(String onDblClickScript)
Setter for the components onDblClick script |
void |
setOnDocumentReadyScript(String onDocumentReadyScript)
Setter for the components onDocumentReady script |
void |
setOnFocusScript(String onFocusScript)
Setter for the components onFocus script |
void |
setOnKeyDownScript(String onKeyDownScript)
Setter for the components onKeyDown script |
void |
setOnKeyPressScript(String onKeyPressScript)
Setter for the components onKeyPress script |
void |
setOnKeyUpScript(String onKeyUpScript)
Setter for the components onKeyUp script |
void |
setOnLoadScript(String onLoadScript)
Setter for the components onLoad script |
void |
setOnMouseDownScript(String onMouseDownScript)
Setter for the components onMouseDown script |
void |
setOnMouseMoveScript(String onMouseMoveScript)
Setter for the components onMouseMove script |
void |
setOnMouseOutScript(String onMouseOutScript)
Setter for the components onMouseOut script |
void |
setOnMouseOverScript(String onMouseOverScript)
Setter for the components onMouseOver script |
void |
setOnMouseUpScript(String onMouseUpScript)
Setter for the components onMouseUp script |
void |
setOnSubmitScript(String onSubmitScript)
Setter for the components onSubmit script |
void |
setOnUnloadScript(String onUnloadScript)
Setter for the components onUnload script |
void |
setOrder(int order)
Setter for the component's order |
void |
setPersistInSession(boolean persistInSession)
Setter for the indicator to force persistence of the component in session |
void |
setProgressiveRender(String progressiveRender)
|
void |
setProgressiveRenderAndRefresh(boolean progressiveRenderAndRefresh)
|
void |
setProgressiveRenderViaAJAX(boolean progressiveRenderViaAJAX)
|
void |
setPropertyReplacers(List<PropertyReplacer> propertyReplacers)
Setter for the components property substitutions |
void |
setReadOnly(boolean readOnly)
Setter for the read only indicator |
void |
setRefresh(boolean refresh)
|
void |
setRefreshDiscloseMethodToCall(String refreshDiscloseMethodToCall)
Setter for the controller method to call for a refresh or disclosure action on this component |
void |
setRefreshedByAction(boolean refreshedByAction)
Setter for the refresjed by action indicator |
void |
setRefreshWhenChanged(String refreshWhenChanged)
|
void |
setRender(boolean render)
Setter for the components render indicator |
void |
setRenderOutput(String renderOutput)
Setter for the component's render output |
void |
setRequired(Boolean required)
Setter for the required indicator |
void |
setResetDataOnRefresh(boolean resetDataOnRefresh)
Setter for the reset data on refresh indicator |
void |
setRowSpan(int rowSpan)
Setter for the component row span |
void |
setSelfRendered(boolean selfRendered)
Setter for the self render indicator |
void |
setSkipInTabOrder(boolean skipInTabOrder)
|
void |
setStyle(String style)
Setter for the components style |
void |
setStyleClasses(List<String> styleClasses)
Setter for the components style classes |
void |
setTemplate(String template)
Setter for the components template |
void |
setTitle(String title)
Setter for the components title |
void |
setValign(String valign)
Setter for the component's vertical align |
void |
setWidth(String width)
Setter for the components width |
Methods inherited from class org.kuali.rice.krad.uif.component.ConfigurableBase |
---|
getPropertyExpression, getPropertyExpressions, setPropertyExpressions |
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 |
---|
getComponentTypeName |
Methods inherited from interface org.kuali.rice.krad.uif.component.Configurable |
---|
getPropertyExpression, getPropertyExpressions, setPropertyExpressions |
Constructor Detail |
---|
public ComponentBase()
Method Detail |
---|
public void performInitialization(View view, Object model)
performInitialization
in interface Component
view
- - view instance in which the component belongsmodel
- - object instance containing the view dataComponent.performInitialization(org.kuali.rice.krad.uif.view.View, java.lang.Object)
public void performApplyModel(View view, Object model, Component parent)
performApplyModel
in interface Component
view
- - view instance to which the component belongsmodel
- - Top level object containing the data (could be the form or a
top level business object, dto)Component.performApplyModel(org.kuali.rice.krad.uif.view.View, java.lang.Object, org.kuali.rice.krad.uif.component.Component)
public void performFinalize(View view, Object model, Component parent)
performFinalize
in interface Component
view
- - view instance that should be finalized for renderingmodel
- - top level object containing the dataparent
- - parent componentComponent.performFinalize(org.kuali.rice.krad.uif.view.View, java.lang.Object, org.kuali.rice.krad.uif.component.Component)
public List<Component> getComponentsForLifecycle()
Component
Used by ViewHelperService
for the various lifecycle
callbacks
getComponentsForLifecycle
in interface Component
Component.getComponentsForLifecycle()
public List<Component> getComponentPrototypes()
Component
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.
getComponentPrototypes
in interface Component
Component.getComponentPrototypes()
public List<Component> getPropertyReplacerComponents()
getPropertyReplacerComponents
in interface Component
public String getId()
Component
The id will be used by renderers to set the HTML element id. This gives a way to find various elements for scripting. If the id is not given, a default will be generated by the framework
getId
in interface Component
Component.getId()
public void setId(String id)
Component
setId
in interface Component
id
- - string to set as the component idComponent.setId(java.lang.String)
public String getFactoryId()
Component
ComponentFactory
During component refreshes the component is reinitialized and the lifecycle is performed again to reflect the component state based on the latest updates (data, other component state). Since the lifecycle is only performed on the component, a new instance with configured initial state needs to be retrieved. Some component instances, such as those that are nested or created in code, cannot be obtained from the spring factory. For those the initial state is captured during the perform initialize phase and the factory id generated for referencing retrieving that configuration during a refresh
getFactoryId
in interface Component
Component.getFactoryId()
public void setFactoryId(String factoryId)
Component
setFactoryId
in interface Component
Component.setFactoryId(java.lang.String)
public String getTemplate()
Component
The path should be relative to the web root. An attribute will be
available to the component to use under the name given by the method
getComponentTypeName
. Based on the component type,
additional attributes could be available for use. See the component
documentation for more information on such attributes.
e.g. '/krad/WEB-INF/jsp/tiles/component.jsp'
getTemplate
in interface Component
Component.getTemplate()
public void setTemplate(String template)
Component
setTemplate
in interface Component
Component.setTemplate(java.lang.String)
public String getTitle()
Component
getTitle
in interface Component
Component.getTitle()
public void setTitle(String title)
Component
setTitle
in interface Component
Component.setTitle(java.lang.String)
public boolean isHidden()
Component
How the hidden data is maintained depends on the views persistence mode. If the mode is request, the corresponding data will be rendered to the UI but not visible. If the mode is session, the data will not be rendered to the UI but maintained server side.
For a Container
component, the hidden setting will apply to
all contained components (making a section hidden makes all fields within
the section hidden)
isHidden
in interface Component
Component.isHidden()
public void setHidden(boolean hidden)
Component
setHidden
in interface Component
Component.setHidden(boolean)
public boolean isReadOnly()
Component
When readOnly the controls and widgets of Field
components
will not be rendered. If the Field has an underlying value it will be
displayed readOnly to the user.
For a Container
component, the readOnly setting will apply
to all contained components (making a section readOnly makes all fields
within the section readOnly)
isReadOnly
in interface Component
Component.isReadOnly()
public void setReadOnly(boolean readOnly)
Component
setReadOnly
in interface Component
Component.setReadOnly(boolean)
public Boolean getRequired()
Component
At the general component level required means there is some action the user needs to take within the component. For example, within a section it might mean the fields within the section should be completed. At a field level, it means the field should be completed. This provides the ability for the renderers to indicate the required action.
getRequired
in interface Component
Component.getRequired()
public void setRequired(Boolean required)
Component
setRequired
in interface Component
Component.setRequired(java.lang.Boolean)
public boolean isRender()
Component
If set to false, the corresponding component template will not be invoked (therefore nothing will be rendered to the UI).
isRender
in interface Component
Component.isRender()
public void setRender(boolean render)
Component
setRender
in interface Component
Component.setRender(boolean)
public int getColSpan()
Component
All components belong to a Container
and are placed using a
LayoutManager
. This property specifies how many places
horizontally the component should take up within the container. This is
only applicable for table based layout managers. Default is 1
getColSpan
in interface Component
Component.getColSpan()
public void setColSpan(int colSpan)
Component
setColSpan
in interface Component
Component.setColSpan(int)
public int getRowSpan()
Component
All components belong to a Container
and are placed using a
LayoutManager
. This property specifies how many places
vertically the component should take up within the container. This is
only applicable for table based layout managers. Default is 1
getRowSpan
in interface Component
Component.getRowSpan()
public void setRowSpan(int rowSpan)
Component
setRowSpan
in interface Component
Component.setRowSpan(int)
public String getAlign()
All components belong to a Container
and are placed using a
LayoutManager
. This property specifies how the component
should be aligned horizontally within the container. During the finalize
phase the CSS text-align style will be created for the align setting.
CssConstants.TextAligns
public void setAlign(String align)
align
- public String getValign()
All components belong to a Container
and are placed using a
LayoutManager
. This property specifies how the component
should be aligned vertically within the container. During the finalize
phase the CSS vertical-align style will be created for the valign
setting.
CssConstants.VerticalAligns
public void setValign(String valign)
valign
- public String getWidth()
All components belong to a Container
and are placed using a
LayoutManager
. This property specifies a width the component
should take up in the Container. This is not applicable for all layout
managers. During the finalize phase the CSS width style will be created
for the width setting.
e.g. '30%', '55px'
public void setWidth(String width)
width
- public String getStyle()
Component
Any style override or additions can be specified with this attribute. This is used by the renderer to set the style attribute on the corresponding element.
e.g. 'color: #000000;text-decoration: underline;'
getStyle
in interface Component
Component.getStyle()
public void setStyle(String style)
Component
setStyle
in interface Component
Component.setStyle(java.lang.String)
public List<String> getStyleClasses()
Component
Declares style classes for the component. Multiple classes are specified with a space delimiter. This is used by the renderer to set the class attribute on the corresponding element. The class(s) declared must be available in the common style sheets or the style sheets specified for the view
e.g. 'header left'
getStyleClasses
in interface Component
Component.getStyleClasses()
public void setStyleClasses(List<String> styleClasses)
Component
setStyleClasses
in interface Component
Component.setStyleClasses(java.util.List)
public String getStyleClassesAsString()
public void addStyleClass(String styleClass)
Component
addStyleClass
in interface Component
Component.addStyleClass(java.lang.String)
public void appendToStyle(String styleRules)
Component
appendToStyle
in interface Component
Component.appendToStyle(java.lang.String)
public String getFinalizeMethodToCall()
Component
Note the method can also be set with the finalizeMethodInvoker
targetMethod property. If the method is on the configured
ViewHelperService
, only this property needs to be configured
The model backing the view will be passed as the first argument method and then
the Component
instance as the second argument. If any additional method
arguments are declared with the finalizeMethodAdditionalArguments, they will then
be passed in the order declared in the list
If the component is selfRendered, the finalize method can return a string which will be set as the component's renderOutput. The selfRendered indicator will also be set to true on the component.
getFinalizeMethodToCall
in interface Component
Component.getFinalizeMethodToCall()
public void setFinalizeMethodToCall(String finalizeMethodToCall)
finalizeMethodToCall
- public List<Object> getFinalizeMethodAdditionalArguments()
Component
These arguments are passed to the finalize method after the standard model and component arguments. They are passed in the order declared in the list
getFinalizeMethodAdditionalArguments
in interface Component