KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > lists > AbstractFormat


1 package gnu.lists;
2 import gnu.mapping.*;
3 import java.text.FieldPosition JavaDoc;
4
5 public abstract class AbstractFormat extends java.text.Format JavaDoc
6 {
7   protected void write(String JavaDoc 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   /** Write a long.
18    * The default is to call writeLong on the Consumer. */

19   public void writeLong(long v, Consumer out)
20   {
21     out.writeLong(v);
22   }
23
24   /** Write an int.
25    * The default is to call writeLong, so sub-classes only need to
26    * override the latter. */

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 JavaDoc 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 JavaDoc attrType, Consumer out)
50   {
51     write(attrType.toString(), out);
52     write(": ", out);
53   }
54
55   public void endAttribute(Consumer out)
56   {
57     write(" ", out); // FIXME
58
}
59
60   public abstract void writeObject(Object JavaDoc v, Consumer out);
61
62   public void format (Object JavaDoc 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 JavaDoc obj, PrintConsumer out)
83   {
84     writeObject(obj, (Consumer) out);
85   }
86
87   public final void writeObject (Object JavaDoc obj, java.io.Writer JavaDoc 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 JavaDoc format(Object JavaDoc val, StringBuffer JavaDoc sbuf, FieldPosition JavaDoc 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 JavaDoc parseObject(String JavaDoc text, java.text.ParsePosition JavaDoc status)
109   {
110     throw new Error JavaDoc(this.getClass().getName()
111                     + ".parseObject - not implemented");
112   }
113 }
114
Popular Tags