[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