1 19 20 package org.netbeans.modules.dbschema.nodes; 21 22 import java.beans.*; 23 24 import org.openide.nodes.*; 25 26 import org.netbeans.modules.dbschema.*; 27 import org.netbeans.modules.dbschema.util.SQLTypeUtil; 28 29 32 public class ColumnElementNode extends DBMemberElementNode { 33 37 public ColumnElementNode (ColumnElement element, boolean writeable) { 38 super(element, Children.LEAF, writeable); 39 } 40 41 44 protected String resolveIconBase () { 45 return COLUMN; 46 } 47 48 49 protected Sheet createSheet () { 50 Sheet sheet = Sheet.createDefault(); 51 Sheet.Set ps = sheet.get(Sheet.PROPERTIES); 52 53 ps.put(createNameProperty(writeable)); 54 ps.put(createTypeProperty(writeable)); 55 ps.put(createNullableProperty(writeable)); 56 ps.put(createLengthProperty(writeable)); 57 ps.put(createPrecisionProperty(writeable)); 58 ps.put(createScaleProperty(writeable)); 59 60 return sheet; 61 } 62 63 67 protected Node.Property createTypeProperty (boolean canW) { 68 return new ElementProp(PROP_TYPE, String .class, canW) { 69 70 public Object getValue () { 71 return SQLTypeUtil.getSqlTypeString(((ColumnElement) element).getType()); 72 } 73 }; 74 } 75 76 80 protected Node.Property createNullableProperty (boolean canW) { 81 return new ElementProp(PROP_NULLABLE, Boolean.TYPE, canW) { 82 83 public Object getValue () { 84 return Boolean.valueOf(((ColumnElement)element).isNullable()); 85 } 86 }; 87 } 88 89 93 protected Node.Property createLengthProperty (boolean canW) { 94 return new ElementProp(PROP_LENGTH, Integer.TYPE, canW) { 95 96 public Object getValue () { 97 return ((ColumnElement)element).getLength(); 98 } 99 }; 100 } 101 102 106 protected Node.Property createPrecisionProperty (boolean canW) { 107 return new ElementProp(PROP_PRECISION, Integer.TYPE, canW) { 108 109 public Object getValue () { 110 return ((ColumnElement)element).getPrecision(); 111 } 112 }; 113 } 114 115 119 protected Node.Property createScaleProperty (boolean canW) { 120 return new ElementProp(PROP_SCALE, Integer.TYPE, canW) { 121 122 public Object getValue () { 123 return ((ColumnElement)element).getScale(); 124 } 125 }; 126 } 127 } 128 | Popular Tags |