001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.swing; 005 006 import javax.swing.table.DefaultTableModel; 007 import javax.swing.table.TableModel; 008 import javax.swing.tree.DefaultMutableTreeNode; 009 import javax.swing.tree.MutableTreeNode; 010 011 /** 012 * @author Pavel Vlasov 013 * @revision $Revision: 1.1 $ 014 */ 015 public class PrimitivesVisualizer { 016 private static class PrimitiveVisualizable implements Visualizable { 017 Object o; 018 019 public PrimitiveVisualizable(Object o) { 020 this.o=o; 021 } 022 023 public MutableTreeNode toTree(final String title) { 024 return new DefaultMutableTreeNode(o) { 025 public String toString() { 026 return title+" ["+o.getClass().getName()+"] "+o; 027 } 028 }; 029 } 030 031 public TableModel toTable() { 032 DefaultTableModel tm=new DefaultTableModel(1,2); 033 tm.setColumnIdentifiers(new String[] {"Type", "Value"}); 034 tm.setValueAt(o.getClass().getName(), 0, 0); 035 tm.setValueAt(o, 0, 1); 036 037 return tm; 038 } 039 040 } 041 042 043 public Visualizable toVisualizable(final String o) { 044 return new PrimitiveVisualizable(o); 045 } 046 047 public Visualizable toVisualizable(final Number o) { 048 return new PrimitiveVisualizable(o); 049 } 050 051 public Visualizable toVisualizable(final Boolean o) { 052 return new PrimitiveVisualizable(o); 053 } 054 055 public Visualizable toVisualizable(final Character o) { 056 return new PrimitiveVisualizable(o); 057 } 058 }