uel
  1. uel
  2. UEL-29

Make it possible to be notified when resolution happens

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Trivial Trivial
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      In fixing JAVASERVERFACES_SPEC_PUBLIC-1080, I have found it useful to be notified when an EL expression is resolved. My particular use case is when one ELResolver in the chain wants to make assertions that are impacted by the operation of other resolvers later in the chain and in the expression.

      I've added this to the ELContextImpl in JSF:
      {{
      @Override
      public void setPropertyResolved(boolean resolved) {
      if (resolved && null != resolutionListeners) {
      for (ResolutionListener cur : resolutionListeners)

      { cur.propertyResolved(this); }

      }
      super.setPropertyResolved(resolved);
      }

      private List<ResolutionListener> resolutionListeners;

      public void addResolutionListener(ResolutionListener l) {
      if (null == resolutionListeners)

      { resolutionListeners = new ArrayList(); }

      resolutionListeners.add(l);
      }

      // ----------------------------------------------------------- Inner Classes

      public interface ResolutionListener

      { public void propertyResolved(ELContext ctx); }

      }}

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Ed Burns
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:

                Time Tracking

                Estimated:
                Original Estimate - 5 days
                5d
                Remaining:
                Remaining Estimate - 5 days
                5d
                Logged:
                Time Spent - Not Specified
                Not Specified