001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.swing; 005 006 import java.util.ArrayList; 007 import java.util.List; 008 009 import javax.swing.tree.TreeNode; 010 011 import biz.hammurapi.convert.Converter; 012 import biz.hammurapi.convert.ConvertingService; 013 014 /** 015 * @author Pavel Vlasov 016 * 017 * @version $Revision: 1.1 $ 018 */ 019 public class ArrayVisualizer { 020 021 public Visualizable convert(final Object[] oa, final Converter master) { 022 return new Visualizable() { 023 024 public TreeNode toTreeNode(TreeNode parent, String title) { 025 return new LazyTreeNode(parent, title+" ["+oa.length+"]") { 026 027 protected List loadChildren() { 028 ArrayList ret = new ArrayList(); 029 for (int i=0; i<oa.length; ++i) { 030 Visualizable ev = (Visualizable) ConvertingService.convert(oa[i], Visualizable.class); 031 ret.add(ev.toTreeNode(this, "["+i+"]")); 032 } 033 return ret; 034 } 035 036 }; 037 } 038 039 }; 040 } 041 }