1 package gnu.lists; 2 import gnu.mapping.*; 3 import java.text.FieldPosition ; 4 5 public abstract class AbstractFormat extends java.text.Format 6 { 7 protected void write(String str, Consumer out) 8 { 9 out.write(str); 10 } 11 12 public void write (int v, Consumer out) 13 { 14 out.write(v); 15 } 16 17 19 public void writeLong(long v, Consumer out) 20 { 21 out.writeLong(v); 22 } 23 24 27 public void writeInt(int i, Consumer out) 28 { 29 writeLong(i, out); 30 } 31 32 public void writeBoolean(boolean v, Consumer out) 33 { 34 out.writeBoolean(v); 35 } 36 37 public void beginGroup (Object type, Consumer out) 38 { 39 write("(", out); 40 write(type.toString(), out); 41 write(" ", out); 42 } 43 44 public void endGroup (Consumer out) 45 { 46 write(")", out); 47 } 48 49 public void beginAttribute (Object attrType, Consumer out) 50 { 51 write(attrType.toString(), out); 52 write(": ", out); 53 } 54 55 public void endAttribute(Consumer out) 56 { 57 write(" ", out); } 59 60 public abstract void writeObject(Object v, Consumer out); 61 62 public void format (Object value, Consumer out) 63 { 64 if (out instanceof OutPort) 65 { 66 OutPort pout = (OutPort) out; 67 AbstractFormat saveFormat = pout.objectFormat; 68 try 69 { 70 pout.objectFormat = this; 71 out.writeObject(value); 72 } 73 finally 74 { 75 pout.objectFormat = saveFormat; 76 } 77 } 78 else 79 out.writeObject(value); 80 } 81 82 public final void writeObject (Object obj, PrintConsumer out) 83 { 84 writeObject(obj, (Consumer) out); 85 } 86 87 public final void writeObject (Object obj, java.io.Writer out) 88 { 89 if (out instanceof Consumer) 90 writeObject(obj, (Consumer) out); 91 else 92 { 93 OutPort port = new OutPort(out, false, true, "<unknown>"); 94 writeObject(obj, (Consumer) out); 95 port.close(); 96 } 97 } 98 99 public StringBuffer format(Object val, StringBuffer sbuf, FieldPosition fpos) 100 { 101 CharArrayOutPort out = new CharArrayOutPort(); 102 writeObject(val, out); 103 sbuf.append(out.toCharArray()); 104 out.close(); 105 return sbuf; 106 } 107 108 public Object parseObject(String text, java.text.ParsePosition status) 109 { 110 throw new Error (this.getClass().getName() 111 + ".parseObject - not implemented"); 112 } 113 } 114 | Popular Tags |