KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > util > xml > catalog > helpers > Debug


1 // Debug.java - Print debug messages
2

3 /* ====================================================================
4  * The Apache Software License, Version 1.1
5  *
6  * Copyright (c) 2001-2003 The Apache Software Foundation. All rights
7  * reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution,
22  * if any, must include the following acknowledgment:
23  * "This product includes software developed by the
24  * Apache Software Foundation (http://www.apache.org/)."
25  * Alternately, this acknowledgment may appear in the software itself,
26  * if and wherever such third-party acknowledgments normally appear.
27  *
28  * 4. The names "Apache" and "Apache Software Foundation" must
29  * not be used to endorse or promote products derived from this
30  * software without prior written permission. For written
31  * permission, please contact apache@apache.org.
32  *
33  * 5. Products derived from this software may not be called "Apache",
34  * nor may "Apache" appear in their name, without prior written
35  * permission of the Apache Software Foundation.
36  *
37  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48  * SUCH DAMAGE.
49  * ====================================================================
50  *
51  * This software consists of voluntary contributions made by many
52  * individuals on behalf of the Apache Software Foundation. For more
53  * information on the Apache Software Foundation, please see
54  * <http://www.apache.org/>.
55  */

56
57 package org.jboss.util.xml.catalog.helpers;
58
59 /**
60  * Static debugging/messaging class for Catalogs.
61  *
62  * <p>This class defines a set of static methods that can be called
63  * to produce debugging messages. Messages have an associated "debug
64  * level" and messages below the current setting are not displayed.</p>
65  *
66  * @author Norman Walsh
67  * <a HREF="mailto:Norman.Walsh@Sun.COM">Norman.Walsh@Sun.COM</a>
68  *
69  * @version 1.0
70  */

71 public class Debug {
72   /** The internal debug level. */
73   protected int debug = 0;
74
75   /** Constructor */
76   public Debug() {
77     // nop
78
}
79
80   /** Set the debug level for future messages. */
81   public void setDebug(int newDebug) {
82     debug = newDebug;
83   }
84
85   /** Get the current debug level. */
86   public int getDebug() {
87     return debug;
88   }
89
90   /**
91    * Print debug message (if the debug level is high enough).
92    *
93    * <p>Prints "the message"</p>
94    *
95    * @param level The debug level of this message. This message
96    * will only be
97    * displayed if the current debug level is at least equal to this
98    * value.
99    * @param message The text of the message.
100    */

101   public void message(int level, String JavaDoc message) {
102     if (debug >= level) {
103       System.out.println(message);
104     }
105   }
106
107   /**
108    * Print debug message (if the debug level is high enough).
109    *
110    * <p>Prints "the message: spec"</p>
111    *
112    * @param level The debug level of this message. This message
113    * will only be
114    * displayed if the current debug level is at least equal to this
115    * value.
116    * @param message The text of the message.
117    * @param spec An argument to the message.
118    */

119   public void message(int level, String JavaDoc message, String JavaDoc spec) {
120     if (debug >= level) {
121       System.out.println(message + ": " + spec);
122     }
123   }
124
125   /**
126    * Print debug message (if the debug level is high enough).
127    *
128    * <p>Prints "the message: spec1" and "spec2" indented on the next line.</p>
129    *
130    * @param level The debug level of this message. This message
131    * will only be
132    * displayed if the current debug level is at least equal to this
133    * value.
134    * @param message The text of the message.
135    * @param spec1 An argument to the message.
136    * @param spec2 Another argument to the message.
137    */

138   public void message(int level, String JavaDoc message,
139                  String JavaDoc spec1, String JavaDoc spec2) {
140     if (debug >= level) {
141       System.out.println(message + ": " + spec1);
142       System.out.println("\t" + spec2);
143     }
144   }
145 }
146
Popular Tags