KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > myfaces > component > html > ext > HtmlDataTablePhaseListener


1 package org.apache.myfaces.component.html.ext;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5
6 import javax.faces.component.UIComponent;
7 import javax.faces.component.UIViewRoot;
8 import javax.faces.context.FacesContext;
9 import javax.faces.event.PhaseEvent;
10 import javax.faces.event.PhaseId;
11 import javax.faces.event.PhaseListener;
12 import java.util.Iterator JavaDoc;
13
14 /**
15  * @author Manfred Geiler (latest modification by $Author: matze $)
16  * @version $Revision: 1.2 $ $Date: 2004/10/13 11:50:56 $
17  */

18 public class HtmlDataTablePhaseListener
19         implements PhaseListener
20 {
21     private static final Log log = LogFactory.getLog(HtmlDataTablePhaseListener.class);
22
23     public HtmlDataTablePhaseListener()
24     {
25         if (log.isDebugEnabled()) log.debug("New HtmlDataTablePhaseListener");
26     }
27
28     public PhaseId getPhaseId()
29     {
30         return PhaseId.RENDER_RESPONSE;
31     }
32
33     public void afterPhase(PhaseEvent event)
34     {
35     }
36
37     public void beforePhase(PhaseEvent event)
38     {
39         FacesContext facesContext = event.getFacesContext();
40         UIViewRoot viewRoot = facesContext.getViewRoot();
41         recurseFacetsAndChildren(facesContext, viewRoot.getFacetsAndChildren());
42     }
43
44     protected void recurseFacetsAndChildren(FacesContext facesContext, Iterator JavaDoc iterator)
45     {
46         while (iterator.hasNext())
47         {
48             UIComponent comp = (UIComponent)iterator.next();
49             if (comp instanceof HtmlDataTable)
50             {
51                 ((HtmlDataTable)comp).refresh(facesContext);
52             }
53             recurseFacetsAndChildren(facesContext, comp.getFacetsAndChildren());
54         }
55     }
56
57 }
58
Popular Tags