[richfaces-svn-commits] JBoss Rich Faces SVN: r476 - trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Sun Apr 22 18:20:24 EDT 2007


Author: nbelaevski
Date: 2007-04-22 18:20:24 -0400 (Sun, 22 Apr 2007)
New Revision: 476

Modified:
   trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java
Log:
Code updated to comply with http://jira.jboss.com/jira/browse/RF-84 (lazy initialization for helper renderers introduced)

Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java	2007-04-22 21:07:41 UTC (rev 475)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java	2007-04-22 22:20:24 UTC (rev 476)
@@ -40,19 +40,25 @@
 public class TabRendererBase extends RendererBase implements TabEncoder {
     private RendererBase tabHeaderRenderer;
 
+    private synchronized RendererBase getHeaderRenderer() {
+    	if (tabHeaderRenderer == null) {
+            Package pkg = this.getClass().getPackage();
+            try {
+                tabHeaderRenderer = (RendererBase) Class.forName(pkg.getName() + ".TabHeaderRenderer").newInstance();
+            } catch (InstantiationException e) {
+                throw new FacesException(e);
+            } catch (IllegalAccessException e) {
+                throw new FacesException(e);
+            } catch (ClassNotFoundException e) {
+                throw new FacesException(e);
+            }
+    	}
+
+    	return tabHeaderRenderer;
+    }
+    
     public TabRendererBase() {
         super();
-
-        Package pkg = this.getClass().getPackage();
-        try {
-            tabHeaderRenderer = (RendererBase) Class.forName(pkg.getName() + ".TabHeaderRenderer").newInstance();
-        } catch (InstantiationException e) {
-            throw new FacesException(e);
-        } catch (IllegalAccessException e) {
-            throw new FacesException(e);
-        } catch (ClassNotFoundException e) {
-            throw new FacesException(e);
-        }
     }
 
     /**
@@ -64,8 +70,8 @@
      * @throws IOException
      */
     public void encodeTab(FacesContext context, UITab tab, boolean active) throws IOException {
-        tabHeaderRenderer.encodeBegin(context, tab);
-        tabHeaderRenderer.encodeEnd(context, tab);
+        getHeaderRenderer().encodeBegin(context, tab);
+        getHeaderRenderer().encodeEnd(context, tab);
     }
 
     public String getTabDisplay(FacesContext context, UITab tab) {




More information about the richfaces-svn-commits mailing list