View Javadoc

1   /*
2    * $Id: ComponentTreeRenderProcessorFactory.java,v 1.1 2006/12/08 17:26:06 oeuillot Exp $
3    */
4   package org.rcfaces.core.internal.renderkit.tools;
5   
6   import javax.faces.context.FacesContext;
7   
8   import org.apache.commons.logging.Log;
9   import org.apache.commons.logging.LogFactory;
10  import org.rcfaces.core.internal.Constants;
11  import org.rcfaces.core.internal.facelets.FaceletViewHandler;
12  import org.rcfaces.core.internal.facelets.FaceletsTreeRendererProcessor;
13  import org.rcfaces.core.internal.tools.AsyncModeTools;
14  
15  /**
16   * 
17   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
18   * @version $Revision: 1.1 $ $Date: 2006/12/08 17:26:06 $
19   */
20  public class ComponentTreeRenderProcessorFactory {
21      private static final String REVISION = "$Revision: 1.1 $";
22  
23      private static final Log LOG = LogFactory
24              .getLog(ComponentTreeRenderProcessorFactory.class);
25  
26      private final FacesContext facesContext;
27  
28      private ComponentTreeRenderProcessorFactory(FacesContext facesContext) {
29          this.facesContext = facesContext;
30      }
31  
32      public static IComponentTreeRenderProcessor get(FacesContext facesContext) {
33          if (Constants.FACELETS_SUPPORT) {
34              if (AsyncModeTools.isTagProcessor(facesContext) == false) {
35                  if (facesContext.getApplication().getViewHandler() instanceof FaceletViewHandler) {
36                      return new FaceletsTreeRendererProcessor(facesContext);
37                  }
38              }
39          }
40  
41          return new DefaultTreeRendererProcessor(facesContext);
42      }
43  
44  }