de.grogra.util
Class Debug

java.lang.Object
  extended by de.grogra.util.Debug

public final class Debug
extends java.lang.Object

This helper class is used to control the debugging facilities. In each class that contains additional debug code, a flag is set by code similar to this one: private static final boolean DEBUG = Debug.debug("GLDisplay"); Making the flag private, static and final allows the javavm to perform some optimizations at runtime. For instance consider a statement like this one: if (DEBUG) { } The java compiler will generate bytecode for this statement and the code contained therein, but at runtime this code may be optimized away by the executing javavm, if the flag DEBUG was evaluated to false. By having each class query the debug state via the same function Debug.debug(), debugging of those classes can be easily enabled. The function debug() will look at the defined system properties for a property with the name "groimp.debug.", where is the string passed to the debug() function. If such a property is defined, debugging is enabled for that name and debug() returns true.

Author:
Reinhard Hemmerling

Field Summary
static java.lang.String DEBUG_PREFIX
           
 
Constructor Summary
Debug()
           
 
Method Summary
static boolean debug(java.lang.String name)
          Returns true if debugging for that name was enabled.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG_PREFIX

public static final java.lang.String DEBUG_PREFIX
See Also:
Constant Field Values
Constructor Detail

Debug

public Debug()
Method Detail

debug

public static final boolean debug(java.lang.String name)
Returns true if debugging for that name was enabled.

Parameters:
name - symbol that is checked for debugging
Returns:
true if debugging was enabled for that symbol