KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > retrotranslator > runtime > java > lang > _Appendable


1 /***
2  * Retrotranslator: a Java bytecode transformer that translates Java classes
3  * compiled with JDK 5.0 into classes that can be run on JVM 1.4.
4  *
5  * Copyright (c) 2005 - 2007 Taras Puchko
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  * 3. Neither the name of the copyright holders nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30  * THE POSSIBILITY OF SUCH DAMAGE.
31  */

32 package net.sf.retrotranslator.runtime.java.lang;
33
34 import java.io.*;
35 import java.nio.CharBuffer JavaDoc;
36 import net.sf.retrotranslator.runtime.java.io.*;
37 import net.sf.retrotranslator.runtime.java.nio._CharBuffer;
38
39 /**
40  * @author Taras Puchko
41  */

42 public class _Appendable {
43
44     public static boolean executeInstanceOfInstruction(Object JavaDoc object) {
45         return object instanceof StringBuffer JavaDoc ||
46                 object instanceof PrintStream ||
47                 object instanceof Writer ||
48                 object instanceof CharBuffer JavaDoc ||
49                 object instanceof Appendable_;
50     }
51
52     public static Object JavaDoc executeCheckCastInstruction(Object JavaDoc object) {
53         if (object instanceof StringBuffer JavaDoc) {
54             return (StringBuffer JavaDoc) object;
55         }
56         if (object instanceof PrintStream) {
57             return (PrintStream) object;
58         }
59         if (object instanceof Writer) {
60             return (Writer) object;
61         }
62         if (object instanceof CharBuffer JavaDoc) {
63             return (CharBuffer JavaDoc) object;
64         }
65         return (Appendable_) object;
66     }
67
68     public static Object JavaDoc append(Object JavaDoc object, CharSequence JavaDoc csq) throws IOException {
69         if (object instanceof StringBuffer JavaDoc) {
70             return _StringBuffer.append((StringBuffer JavaDoc) object, csq);
71         }
72         if (object instanceof PrintStream) {
73             return _PrintStream.append((PrintStream) object, csq);
74         }
75         if (object instanceof Writer) {
76             return _Writer.append((Writer) object, csq);
77         }
78         if (object instanceof CharBuffer JavaDoc) {
79             return _CharBuffer.append((CharBuffer JavaDoc) object, csq);
80         }
81         return ((Appendable_) object).append(csq);
82     }
83
84     public static Object JavaDoc append(Object JavaDoc object, CharSequence JavaDoc csq, int start, int end) throws IOException {
85         if (object instanceof StringBuffer JavaDoc) {
86             return _StringBuffer.append((StringBuffer JavaDoc) object, csq, start, end);
87         }
88         if (object instanceof PrintStream) {
89             return _PrintStream.append((PrintStream) object, csq, start, end);
90         }
91         if (object instanceof Writer) {
92             return _Writer.append((Writer) object, csq, start, end);
93         }
94         if (object instanceof CharBuffer JavaDoc) {
95             return _CharBuffer.append((CharBuffer JavaDoc) object, csq, start, end);
96         }
97         return ((Appendable_) object).append(csq, start, end);
98     }
99
100     public static Object JavaDoc append(Object JavaDoc object, char c) throws IOException {
101         if (object instanceof StringBuffer JavaDoc) {
102             return ((StringBuffer JavaDoc) object).append(c);
103         }
104         if (object instanceof PrintStream) {
105             return _PrintStream.append((PrintStream) object, c);
106         }
107         if (object instanceof Writer) {
108             return _Writer.append((Writer) object, c);
109         }
110         if (object instanceof CharBuffer JavaDoc) {
111             return _CharBuffer.append((CharBuffer JavaDoc) object, c);
112         }
113         return ((Appendable_) object).append(c);
114     }
115
116 }
117
Popular Tags