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 }