Class UifDictionaryBeanBase

java.lang.Object
org.kuali.rice.krad.datadictionary.DictionaryBeanBase
org.kuali.rice.krad.datadictionary.uif.UifDictionaryBeanBase
All Implemented Interfaces:
Serializable, Cloneable, Copyable, DictionaryBean, UifDictionaryBean
Direct Known Subclasses:
AttributeQuery, AttributeSecurity, BindingInfo, ColumnCalculationInfo, ComparableInfo, ComponentBase, ComponentModifierBase, ComponentSecurity, CssGridSizes, HistoryEntry, LayoutManagerBase, NodePrototype, ParentLocation, PropertyReplacer, UrlInfo, ValidationMessages, ViewSessionPolicy, ViewTheme, WorkflowAttributeMetadata, WorkflowAttributes

public class UifDictionaryBeanBase extends DictionaryBeanBase implements UifDictionaryBean
Common base class for dictionary objects that can contain dynamic expressions within the property value

Should be extended by other classes to provide property expression support

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
  • Constructor Details

    • UifDictionaryBeanBase

      public UifDictionaryBeanBase()
  • Method Details

    • getExpressionGraph

      public Map<String,String> getExpressionGraph()
      Map of expressions that were configured for the object's graph

      During processing of the UIF configuration, expressions are pulled out and placed into this map for the component graph. A component graph contains the component and all one to one nested components (but not those that are contained in collections, each of these begins another graph). The expressions are placed at the root component level instead of the actual nested component for handling of nested property configuration and overridding

      The expression graph map key gives the property name (possibly nested) the expression was configured on, and the map value gives the expression. During the view lifecycle, see PopulateComponentFromExpressionGraphTask and PopulateReplacersAndModifiersFromExpressionGraphTask, the expressions are moved to the UifDictionaryBean.getPropertyExpressions() map for the configurable they should be evaluated on

      Specified by:
      getExpressionGraph in interface UifDictionaryBean
      Returns:
      Mapinvalid input: '<'String, String> map of expressions contained on the configurable graph
    • setExpressionGraph

      public void setExpressionGraph(Map<String,String> expressionGraph)
      Setter for the map of expressions contained on the configurable graph
      Specified by:
      setExpressionGraph in interface UifDictionaryBean
      Parameters:
      expressionGraph -
    • getPropertyExpressions

      public Map<String,String> getPropertyExpressions()
      Description copied from interface: UifDictionaryBean
      Map of expressions that should be evaluated to conditionally set a property on the component

      When configuring a component property through XML an expression can be given using the @{} placeholder. During the loading of the XML any such expressions are captured and placed into this Map, with the property they apply to set as the Map key. The expressions are then evaluated during the apply model phase and the result is set as the property value.

      Note after the expression is picked up, the property configuration is removed. Thus the property in the component will only have its default object value until the expression is evaluated

      Specified by:
      getPropertyExpressions in interface UifDictionaryBean
      Returns:
      Mapinvalid input: '<'String, String> map of expressions where key is property name and value is expression to evaluate
      See Also:
    • setPropertyExpressions

      public void setPropertyExpressions(Map<String,String> propertyExpressions)
      Description copied from interface: UifDictionaryBean
      Setter for the Map of property expressions
      Specified by:
      setPropertyExpressions in interface UifDictionaryBean
      Parameters:
      propertyExpressions -
      See Also:
    • getPropertyExpression

      public String getPropertyExpression(String propertyName)
      Description copied from interface: UifDictionaryBean
      Returns the expression configured for the property with the given name
      Specified by:
      getPropertyExpression in interface UifDictionaryBean
      Parameters:
      propertyName - property name
      Returns:
      String expression for property or null if expression is not configured
      See Also: