public interface ComponentModifier extends UifDictionaryBean, Serializable, Ordered
Component
ComponentModifier
instances are configured by the component's
dictionary definition. They can be used to provide dynamic initialization
behavior for a certain type of component or all components based on the
getComponentsForLifecycle method. In addition they can do dynamic generation of
new Component
instances, or replacement of the components or
their properties.
Modifiers provide for more usability and flexibility of component
configuration. For instance if a Group
definition is already
configured that is close to what the developer needs, but they need to make
global changes of the group, then can invoke or create a
ComponentModifier
for the group to apply those changes. The
configuration can then inherit the exiting group definition and then specify
the modifier to run with the component's componentModifiers property.
INITIAL_ORDER_VALUE
Modifier and Type | Method and Description |
---|---|
List<Component> |
getComponentPrototypes()
List of components that are maintained by the modifier as prototypes for creating other component instances
|
int |
getOrder() |
String |
getRunCondition()
Conditional expression to evaluate for determining whether the component
modifier should be run.
|
String |
getRunPhase()
Indicates what phase of the component lifecycle the
ComponentModifier should be invoked in (INITIALIZE,
APPLY_MODEL, or FINALIZE) |
Set<Class<? extends Component>> |
getSupportedComponents()
Set of Component classes that may be sent to
the modifier |
void |
performInitialization(Object model,
Component component)
Should be called to initialize the ComponentModifier
|
void |
performModification(Object model,
Component component)
Invoked within the configured phase of the component lifecycle.
|
void |
setOrder(int order)
Setter for the order value
|
getExpressionGraph, getPropertyExpression, getPropertyExpressions, setExpressionGraph, setPropertyExpressions
dataDictionaryPostProcessing, getComponentCode, getNamespaceCode
void performInitialization(Object model, Component component)
This is where component modifiers can set defaults and setup other necessary state. The initialize method should only be called once per layout manager lifecycle and is invoked within the initialize phase of the view lifecylce.
Note if the component modifier holds nested components, they should be initialized in this method by calling the view helper service
model
- - object instance containing the view datacomponent
- - Component the modifier is configured onRunComponentModifiersTask
void performModification(Object model, Component component)
ComponentModifier
should perform its work against
the given Component
instancemodel
- - top level object containing the view datacomponent
- - the component instance to modifyRunComponentModifiersTask
Set<Class<? extends Component>> getSupportedComponents()
Set
of Component
classes that may be sent to
the modifier
If an empty or null list is returned, it is assumed the modifier supports all components. The returned set will be used by the dictionary validation
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.
String getRunPhase()
ComponentModifier
should be invoked in (INITIALIZE,
APPLY_MODEL, or FINALIZE)UifConstants.ViewPhases
String getRunCondition()
int getOrder()
getOrder
in interface org.springframework.core.Ordered
Ordered.getOrder()
void setOrder(int order)
Ordered
Ordered.setOrder(int)
Copyright © 2005–2014 The Kuali Foundation. All rights reserved.