public void processEvent(FacesEvent event) throws AbortProcessingException { FacesContext faces = FacesContext.getCurrentInstance(); if (faces == null) { return; } L instance = null; if (this.binding != null) { instance = (L) binding.getValue(faces.getELContext()); } if (instance == null && this.type != null) { try { instance = (L) TagHandlerUtils.loadClass(this.type, Object.class).newInstance(); } catch (Exception e) { throw new AbortProcessingException("Couldn't Lazily instantiate EventListener", e); } if (this.binding != null) { binding.setValue(faces.getELContext(), instance); } } if (instance != null) { event.processListener(instance); } }
public void processListener(FacesListener listener) { ForEach owner = (ForEach) this.getComponent(); Integer currentIndex = owner.getIndex(); owner.setIndex(index); originalEvent.processListener(listener); owner.setIndex(currentIndex); }