1 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 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 47 public IRender getRenderer( 48 IRequestCycle objCycle, 49 ITableModelSource objSource, 50 ITableColumn objColumn, 51 Object 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 |