add package jmate
[mate.git] / jmate / io / PrintStream.java
1 package jmate.io;
2
3 public class PrintStream {
4         public void println(String a) {
5                 // TODO: `a + "\n"' when StringBuilder is available
6                 printf(a);
7                 printf("\n");
8         }
9
10         public PrintStream printf(String format, Object... args) {
11                 /* temporary workaround ;-) */
12                 int len = args.length;
13                 if (len == 0) {
14                         this.printf_0(format);
15                 } else if (len == 1) {
16                         this.printf_1(format, args[0]);
17                 } else if (len == 2) {
18                         this.printf_2(format, args[0], args[1]);
19                 } else if (len == 3) {
20                         this.printf_3(format, args[0], args[1], args[2]);
21                 } else if (len == 4) {
22                         this.printf_4(format, args[0], args[1], args[2], args[3]);
23                 } else if (len == 5) {
24                         this.printf_5(format, args[0], args[1], args[2], args[3], args[4]);
25                 }
26                 return this;
27         }
28
29         public native void printf_0(String a);
30         public native void printf_1(String a, Object b);
31         public native void printf_2(String a, Object b, Object c);
32         public native void printf_3(String a, Object b, Object c, Object d);
33         public native void printf_4(String a, Object b, Object c, Object d, Object e);
34         public native void printf_5(String a, Object b, Object c, Object d, Object e, Object f);
35 }