1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package zeus.util;
25
26 import java.util.*;
27 import java.io.*;
28
29 public class Core {
30 protected static PrintWriter out = new PrintWriter(System.out);
31
32 public static boolean debug = SystemProps.getState("debug.on",false);
33 public static int level = SystemProps.getInt("debug.level",1);
34
35 public static final void setDebuggerOutputFile(String dout) {
36 try {
37 if ( dout != null )
38 out = new PrintWriter(new FileWriter(dout));
39 }
40 catch(IOException e) {
41 out = new PrintWriter(System.out);
42 }
43 }
44
45
46 public static void FAIL(String s) {
47 System.err.println(s);
48 if ( debug ) Assert.notNull(null);
49 }
50 public static final void DEBUG(int level, Object any) {
51 if ( debug && level <= Core.level ) debug(level,any);
52 }
53 protected static final void debug(int level, Object any) {
54 if ( (any.getClass()).isArray() ) {
55 Object[] array = (Object[])any;
56 out.print("DEBUG " + level + " [");
57 for(int i = 0; i < array.length; i++ ) {
58 out.print(array[i]);
59 if ( i < array.length-1 )
60 out.print(",");
61 }
62 out.println("]");
63 }
64 else {
65 out.println("DEBUG " + level + " " + any);
66 }
67 out.flush();
68 }
69 public static void ERROR(Object object, int num, Object source) {
70 if ( object == null )
71 error(num,source);
72 }
73 public static void ERROR(boolean state, int num, Object source) {
74 if ( !state )
75 error(num,source);
76 }
77 protected static void error(int num, Object source) {
78 if ( source instanceof String )
79 System.err.println("INTERNAL ERROR: " + source + "#" + num);
80 else {
81 String src = source.getClass().getName();
82 System.err.println("INTERNAL ERROR in " + src + "#" + num);
83 }
84 }
85 public static void USER_ERROR(String s) {
86 System.err.println("USER ERROR: " + s);
87 if ( debug ) Assert.notNull(null);
88 }
89 }