1 10 11 package org.mmbase.bridge.util; 12 import org.mmbase.bridge.*; 13 import org.mmbase.util.Casting; 14 import org.w3c.dom.Document ; 15 import org.w3c.dom.Element ; 16 import java.util.*; 17 18 26 public abstract class AbstractFieldValue implements FieldValue { 27 28 static protected BridgeException CANNOTCHANGE = new BridgeException("Cannot change function value"); 29 30 protected final Node node; 31 protected final Cloud cloud; 32 33 protected AbstractFieldValue(Node n, Cloud c) { 34 node = n; 35 cloud = c != null ? c : (n != null ? n.getCloud() : null); 36 } 37 38 42 public boolean canModify() { 43 return false; 44 } 45 46 public boolean isNull() { 47 return get() == null; 48 } 49 50 public abstract Object get(); 51 52 public Object getField() { 53 return null; 54 } 55 56 public Node getNode() { 57 return node; 58 } 59 60 public boolean toBoolean() { 61 return Casting.toBoolean(get()); 62 } 63 64 public byte[] toByte() { 65 return Casting.toByte(get()); 66 } 67 68 public float toFloat() { 69 return Casting.toFloat(get()); 70 } 71 72 public double toDouble() { 73 return Casting.toDouble(get()); 74 } 75 76 public long toLong() { 77 return Casting.toLong(get()); 78 } 79 80 public int toInt() { 81 return Casting.toInt(get()); 82 } 83 84 public Node toNode() { 85 return Casting.toNode(get(), cloud); 86 } 87 88 public String toString() { 89 return Casting.toString(get()); 90 } 91 92 public Document toXML() throws IllegalArgumentException { 93 return Casting.toXML(get()); 94 } 95 96 public final Element toXML(Document tree) throws IllegalArgumentException { 97 Document doc = toXML(); 98 if(doc == null) return null; 99 return (Element ) tree.importNode(doc.getDocumentElement(), true); 100 } 101 102 105 public Date toDate() { 106 return Casting.toDate(get()); 107 } 108 109 110 115 public void set(Object value) { 116 throw CANNOTCHANGE; 117 } 118 119 120 public void setObject(Object value) { 121 throw CANNOTCHANGE; 122 } 123 124 129 public void setBoolean(boolean value) { 130 throw CANNOTCHANGE; 131 } 132 133 138 public void setFLoat(float value) { 139 throw CANNOTCHANGE; 140 } 141 142 147 public void setDouble(double value) { 148 throw CANNOTCHANGE; 149 } 150 151 156 public void setLong(long value) { 157 throw CANNOTCHANGE; 158 } 159 160 165 public void setInt(int value) { 166 throw CANNOTCHANGE; 167 } 168 169 174 public void setByte(byte[] value) { 175 throw CANNOTCHANGE; 176 } 177 178 183 public void setString(String value) { 184 throw CANNOTCHANGE; 185 } 186 187 192 public void setNode(Node value) { 193 throw CANNOTCHANGE; 194 } 195 196 201 public void setXML(Document value) { 202 throw CANNOTCHANGE; 203 } 204 205 210 public void setDate(Date value) { 211 throw CANNOTCHANGE; 212 } 213 214 } 215 | Popular Tags |