ICEfaces
  1. ICEfaces
  2. ICE-3729

Components use attributesThatAreSet

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 1.8DR#1
    • Fix Version/s: None
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      JSF 1.2

      Description

      In JSF 1.2_05+ there's a feature where components keep track of which attributes have been set, either from the setter method being called, or a ValueExpression having been set. This is used to limit which pass-through attributes are attempted to be rendered. It would be nice if we could make use of this feature, or if not, implement an equivalent solution.

        Issue Links

          Activity

          Hide
          Mark Collette added a comment -

          It would be nice if the implementation was optimised enough, that we could avoid, or speed up the accessing of ValueBindings that haven't be set, in getter methods.

          Show
          Mark Collette added a comment - It would be nice if the implementation was optimised enough, that we could avoid, or speed up the accessing of ValueBindings that haven't be set, in getter methods.
          Hide
          Mark Collette added a comment -

          We'll have to augment ICEfaces to take advantage of the functionality in ICE-3757. This will probably involve profiling the cost of using attributesThatAreSet, to see what we can avoid doing in our code, given access to the list of set attributes.

          So that we continue to work with other JSF implementations, and pre-patched versions of JSF Mojarra, we'll need a strategy of detecting if this new feature is enabled. We might just instantiate a component, set an attribute, and then get its attributesThatAreSet, and see if the list is non-null, and contains that attribute name.

          Show
          Mark Collette added a comment - We'll have to augment ICEfaces to take advantage of the functionality in ICE-3757. This will probably involve profiling the cost of using attributesThatAreSet, to see what we can avoid doing in our code, given access to the list of set attributes. So that we continue to work with other JSF implementations, and pre-patched versions of JSF Mojarra, we'll need a strategy of detecting if this new feature is enabled. We might just instantiate a component, set an attribute, and then get its attributesThatAreSet, and see if the list is non-null, and contains that attribute name.
          Hide
          Mark Collette added a comment -

          Ran across a note to try using this feature for isRendered(), and potentially all getters, to avoid accessing the ValueBindings.

          Show
          Mark Collette added a comment - Ran across a note to try using this feature for isRendered(), and potentially all getters, to avoid accessing the ValueBindings.

            People

            • Assignee:
              Mark Collette
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: