KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > contrib > tree > components > table > TreeTableValueRenderSource


1 // Copyright 2004, 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.tapestry.contrib.tree.components.table;
16
17 import org.apache.tapestry.IRender;
18 import org.apache.tapestry.IRequestCycle;
19 import org.apache.tapestry.contrib.table.model.ITableColumn;
20 import org.apache.tapestry.contrib.table.model.ITableModelSource;
21 import org.apache.tapestry.contrib.table.model.ITableRendererSource;
22 import org.apache.tapestry.contrib.table.model.common.ComponentTableRendererSource;
23 import org.apache.tapestry.util.ComponentAddress;
24
25 /**
26  * @author ceco
27  */

28 public class TreeTableValueRenderSource implements ITableRendererSource
29 {
30
31     private ComponentTableRendererSource m_objComponentRenderer;
32     private ComponentAddress m_objComponentAddress = null;
33
34     public TreeTableValueRenderSource()
35     {
36         m_objComponentRenderer = null;
37     }
38
39     public TreeTableValueRenderSource(ComponentAddress objComponentAddress)
40     {
41         m_objComponentAddress = objComponentAddress;
42     }
43
44     /**
45      * @see org.apache.tapestry.contrib.table.model.ITableRendererSource#getRenderer(IRequestCycle, ITableModelSource, ITableColumn, Object)
46      */

47     public IRender getRenderer(
48         IRequestCycle objCycle,
49         ITableModelSource objSource,
50         ITableColumn objColumn,
51         Object JavaDoc objRow)
52     {
53         if (m_objComponentRenderer == null)
54         {
55             synchronized (this)
56             {
57                 if (m_objComponentRenderer == null)
58                 {
59                     
60                     ComponentAddress objAddress = m_objComponentAddress;
61                     if(m_objComponentAddress == null)
62                         objAddress = new ComponentAddress(
63                             "contrib:TreeTableNodeViewPage",
64                             "treeTableNodeViewDelegator");
65                     m_objComponentRenderer =
66                         new ComponentTableRendererSource(objAddress);
67                 }
68             }
69         }
70
71         return m_objComponentRenderer.getRenderer(
72             objCycle,
73             objSource,
74             objColumn,
75             objRow);
76     }
77
78 }
79
Popular Tags