|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Component
All classes of the UIF that are used as a rendering element implement the component interface. This interface defines basic properties and methods that all such classes much implement. All components within the framework have the following structure:
View
, Group
Field
Widget
Container
,
Field
,
Widget
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 |
Method Summary | |
---|---|
void |
addStyleClass(String styleClass)
Adds a single style to the list of styles on this component |
void |
appendToStyle(String itemStyle)
TODO: javadoc |
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()
Options that are passed through to the Component renderer. |
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 |
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 |
String |
getConditionalRefresh()
|
String |
getConditionalRefreshConditionJs()
|
List<String> |
getConditionalRefreshControlNames()
|
Map<String,Object> |
getContext()
Context map for the component |
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 |
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()
|
List<String> |
getProgressiveDisclosureControlNames()
|
String |
getProgressiveRender()
|
List<Component> |
getPropertyReplacerComponents()
List of components that are contained within the List of PropertyReplacer in 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 |
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 |
getTemplate()
The path to the JSP file that should be called to render the component |
String |
getTitle()
A title for the component. |
boolean |
isHidden()
Indicates whether the component should be hidden in the UI |
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()
|
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) |
void |
performApplyModel(View view,
Object model,
Component parent)
Called after the initialize phase to perform conditional logic based on the model data |
void |
performFinalize(View view,
Object model,
Component parent)
The last phase before the view is rendered. |
void |
performInitialization(View view,
Object model)
Should be called to initialize the component |
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 |
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 componentOptions)
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 |
setHidden(boolean hidden)
Setter for the hidden indicator |
void |
setId(String id)
Sets the unique id (within a given tree) for the component |
void |
setOrder(int order)
Setter for the component's order |
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 |
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 |
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 |
Methods inherited from interface org.kuali.rice.krad.uif.component.Configurable |
---|
getPropertyExpression, getPropertyExpressions, setPropertyExpressions |
Method Detail |
---|
String getId()
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
void setId(String id)
id
- - string to set as the component idString getFactoryId()
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
void setFactoryId(String factoryId)
factoryId
- String getComponentTypeName()
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.
String getTemplate()
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'
void setTemplate(String template)
template
- String getTitle()
void setTitle(String title)
title
- void performInitialization(View view, Object model)
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.
view
- - view instance in which the component belongsmodel
- - object instance containing the view dataViewHelperService#initializeComponent
void performApplyModel(View view, Object model, Component parent)
Where components can perform conditional logic such as dynamically generating new fields or setting field state based on the given data
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)void performFinalize(View view, Object model, Component parent)
view
- - view instance that should be finalized for renderingmodel
- - top level object containing the dataparent
- - parent componentList<Component> getComponentsForLifecycle()
Used by ViewHelperService
for the various lifecycle
callbacks
List<Component> getComponentPrototypes()
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.
List<Component> getPropertyReplacerComponents()
PropertyReplacer
in component
Used to get all the nested components in the property replacer's
PropertyReplacer
child componentsList<ComponentModifier> getComponentModifiers()
ComponentModifier
instances that should be invoked to
initialize the component
These provide dynamic initialization behavior for the component and are configured through the components definition. Each initializer will get invoked by the initialize method.
ViewHelperService#initializeComponent
void setComponentModifiers(List<ComponentModifier> componentModifiers)
ComponentModifier
instances
componentModifiers
- boolean isRender()
If set to false, the corresponding component template will not be invoked (therefore nothing will be rendered to the UI).
void setRender(boolean render)
render
- boolean isHidden()
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)
void setHidden(boolean hidden)
hidden
- boolean isReadOnly()
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)
void setReadOnly(boolean readOnly)
readOnly
- Boolean getRequired()
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.
void setRequired(Boolean required)
required
- String getStyle()
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;'
void setStyle(String style)
style
- List<String> getStyleClasses()
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'
void setStyleClasses(List<String> styleClasses)
styleClass
- void addStyleClass(String styleClass)
style
- void appendToStyle(String itemStyle)
itemStyle
- int getColSpan()
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
void setColSpan(int colSpan)
colSpan
- int getRowSpan()
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
void setRowSpan(int rowSpan)
rowSpan
- Map<String,Object> getContext()
Any el statements configured for the components properties (e.g.
title="@{foo.property}") are evaluated using the el context map. This map
will get populated with default objects like the model, view, and request
from the ViewHelperService
. Other components can push
further objects into the context so that they are available for use with
that component. For example, Field
instances that are part
of a collection line as receive the current line instance
Context map also provides objects to methods that are invoked for
GeneratedField
instances
The Map key gives the name of the variable that can be used within expressions, and the Map value gives the object instance for which expressions containing the variable should evaluate against
NOTE: Calling getContext().putAll() will skip updating any configured property replacers for the component. Instead you should call #pushAllToContext
void setContext(Map<String,Object> context)
context
- void pushObjectToContext(String objectName, Object object)
Note this also will push context to property replacers configured on the component. To place multiple objects in the context, you should use #pushAllToContext since that will call this method for each and update property replacers. Using #getContext().putAll() will bypass property replacers.
objectName
- - name the object should be exposed under in the context mapobject
- - object instance to place into contextvoid pushAllToContext(Map<String,Object> objects)
Note this will call #pushObjectToContext for each entry which will update any configured property replacers as well. This should be used in place of getContext().putAll()
objects
- - MapList<PropertyReplacer> getPropertyReplacers()
PropertyReplacer
instances that will be evaluated
during the view lifecycle to conditionally set properties on the
Component
based on expression evaluations
void setPropertyReplacers(List<PropertyReplacer> propertyReplacers)
propertyReplacers
- Map<String,String> getComponentOptions()
void setComponentOptions(Map<String,String> componentOptions)
widgetOptions
- String getComponentOptionsJSString()
void setComponentOptionsJSString(String componentOptions)
widgetOptions
- int getOrder()
getOrder
in interface org.springframework.core.Ordered
Ordered.getOrder()
void setOrder(int order)
order
- org.springframework.core.Ordered.getOrder()
String getFinalizeMethodToCall()
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.
List<Object> getFinalizeMethodAdditionalArguments()
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
MethodInvokerConfig getFinalizeMethodInvoker()
MethodInvokerConfig
instance for the method that should be invoked
for finalizing the component configuration
MethodInvoker can be configured to specify the class or object the method should be called on. For static method invocations, the targetClass property can be configured. For object invocations, that targetObject property can be configured
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.
boolean isSelfRendered()
If self rendered is true, the corresponding template for the component will not be invoked and the renderOutput String will be written to the response as is.
void setSelfRendered(boolean selfRendered)
selfRendered
- String getRenderOutput()
void setRenderOutput(String renderOutput)
renderOutput
- ComponentSecurity getComponentSecurity()
void setComponentSecurity(ComponentSecurity componentSecurity)
componentSecurity
- String getProgressiveRender()
void setProgressiveRender(String progressiveRender)
progressiveRender
- the progressiveRender to setString getConditionalRefresh()
void setConditionalRefresh(String conditionalRefresh)
conditionalRefresh
- the conditionalRefresh to setList<String> getProgressiveDisclosureControlNames()
String getProgressiveDisclosureConditionJs()
String getConditionalRefreshConditionJs()
List<String> getConditionalRefreshControlNames()
boolean isProgressiveRenderViaAJAX()
void setProgressiveRenderViaAJAX(boolean progressiveRenderViaAJAX)
progressiveRenderViaAJAX
- the progressiveRenderViaAJAX to setboolean isProgressiveRenderAndRefresh()
void setProgressiveRenderAndRefresh(boolean progressiveRenderAndRefresh)
progressiveRenderAndRefresh
- the progressiveRenderAndRefresh to setString getRefreshWhenChanged()
void setRefreshWhenChanged(String refreshWhenChanged)
refreshWhenChanged
- the refreshWhenChanged to setboolean isRefreshedByAction()
This is set by the framework for configured ajax action buttons, should not be set in configuration
void setRefreshedByAction(boolean refreshedByAction)
This is set by the framework for configured ajax action buttons, should not be set in configuration
refreshedByAction
- boolean isResetDataOnRefresh()
void setResetDataOnRefresh(boolean resetDataOnRefresh)
resetDataOnRefresh
- boolean isRefresh()
void setRefresh(boolean refresh)
refresh
- the refresh to setList<String> getRefreshWhenChangedControlNames()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |