Class ComparableInfo

All Implemented Interfaces:
Serializable, Cloneable, Copyable, DictionaryBean, UifDictionaryBean, Ordered, org.springframework.core.Ordered

public class ComparableInfo extends UifDictionaryBeanBase implements Serializable, Ordered
Provides configuration for comparing an object with another object

Used with a comparison view (such as in maintenance documents edit mode) where two objects with the same properties are compared. This class configures the object paths for the objects that will be compared, and has additional configuration for the generated comparison group

All comparison objects must have the same fields and collection rows

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

    • ComparableInfo

      public ComparableInfo()
  • Method Details

    • getBindingObjectPath

      public String getBindingObjectPath()
      Returns the path (from the form) for the object to compare to

      When a comparison view is rendered, a group will be rendered for each comparison object using the fields defined on the view. This gives the path to one of the comparison objects

      e.g. For maintenance documents the compare object paths would be document.newMaintainableObject.businessObject and document.oldMaintainableObject.businessObject

      Returns:
      path to the compare object
    • setBindingObjectPath

      public void setBindingObjectPath(String bindingObjectPath)
      Setter for the path to the compare object
      Parameters:
      bindingObjectPath -
    • getHeaderText

      public String getHeaderText()
      Text that should display on the header for the compare group

      In the comparison view each compare group can be labeled, this gives the text that should be used for that label. For example in the maintenance view the compare record is labeled 'Old' to indicate it is the old version of the record

      Returns:
      header text
    • setHeaderText

      public void setHeaderText(String headerText)
      Setter for the compare group header text
      Parameters:
      headerText -
    • isReadOnly

      public boolean isReadOnly()
      Indicates whether the compare group should be read-only
      Returns:
      true if the group should be read-only, false if edits are allowed
    • setReadOnly

      public void setReadOnly(boolean readOnly)
      Setter for the read-only indicator
      Parameters:
      readOnly -
    • getOrder

      public int getOrder()
      Sets the order value that will be used to determine where the compare group should be placed in relation to the other compare groups

      For example if the compare groups are being rendered from left to right in columns, a lower order value would be placed to the left of a compare group with a higher order value

      Specified by:
      getOrder in interface org.springframework.core.Ordered
      See Also:
      • Ordered.getOrder()
    • setOrder

      public void setOrder(int order)
      Setter for the compare object order
      Specified by:
      setOrder in interface Ordered
      Parameters:
      order -
      See Also:
      • Ordered.getOrder()
    • getComparableId

      public String getComparableId()
      Specifies an id suffix to use for the generated comparison fields

      For the given string, all components created for the comparison group will contain the string on their id. This can be helpful for scripting. If not given, the items will receive a default id suffix

      Returns:
      id suffix for comparison group
    • setComparableId

      public void setComparableId(String comparableId)
      Setter for the id prefix to use for the generated comparison components
      Parameters:
      comparableId -
    • isCompareToForValueChange

      public boolean isCompareToForValueChange()
      Indicates whether this comparable group's field values should be compared to when highlighting changes of values between comparables (versions)
      Returns:
      true if this comparable group should be used for comparison, false if not
      See Also:
    • setCompareToForValueChange

      public void setCompareToForValueChange(boolean compareToForValueChange)
      Setter for the use comparable group values for comparison indicator
      Parameters:
      compareToForValueChange -
    • isCompareToForFieldRender

      public boolean isCompareToForFieldRender()
      Indicates whether this comparable group's field values should include the renderOnComparableModifier context variable when this comparable is used to modify an existing component

      This is especially useful when defining a Uif-ActionField that needs to appear on the new side of a maintenance document. Marking this as true on the ComparableInfo will make it push the renderOnComparableModifier context variable, holding the same value as this variable, making it easier to determine whether the field should be rendered based on whether this ComparableInfo is being applied.

      Returns:
      true if this comparable group should be used for the renderOnComparableModifier context variable, false if not
    • setCompareToForFieldRender

      public void setCompareToForFieldRender(boolean compareToForFieldRender)
      Setter for the use comparable group values for renderOnComparableModifier context variable
      Parameters:
      compareToForFieldRender -
    • isHighlightValueChange

      public boolean isHighlightValueChange()
      Indicates whether the fields in this comparable group should be highlighted if their values defer from the comparable group marked for comparison
      Returns:
      true if the comparable fields should be highlighted, false if they should not be highlighted (no comparison will be performed)
      See Also:
    • setHighlightValueChange

      public void setHighlightValueChange(boolean highlightValueChange)
      Setter for the highlight comparable field value changed indicator
      Parameters:
      highlightValueChange -