Package gnu.jel.debug

# Class Debug

java.lang.Object
gnu.jel.debug.Debug

    public final class Debug
    extends java.lang.Object

This class used for incorporating internal checks and assertions into the code.
None of these functions does anything if Debug.enabled is false.
If you really want to throw ALL debug messages from the final, compiler generated, code -- wrap calls to Debug methods into the `if` statement, checking `Debug.enabled` constant. As shown in the example :

     import cz.fzu.metlov.jel.*;
     ..... BLA BLA BLA ...
     if (Debug.enabled) {
      Debug.println("I want this message to disappear in the optimized version");
      Debug.check(foo==superTimeConsumingFunction(bar),
     "I do not want to evaluate superTimeConsumingFunction(), when optimized.");
     };

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static boolean` | `enabled` | Determines if debugging is enabled in current compilation.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `Debug()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static void` | `check​(boolean condition)` | Checks for the condition.
  `static void` | `check​(boolean condition, java.lang.String message)` | Checks for the condition.
  `static void` | `println​(java.lang.String message)` | Prints a line of the debug output.
  `static void` | `reportThrowable​(java.lang.Throwable t)` | Reports an exception, which should not occur(i.e.
  `static void` | `reportThrowable​(java.lang.Throwable t, java.lang.String message)` | Reports an exception, which should not occur(i.e.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### enabled

    public static final boolean enabled
    Determines if debugging is enabled in current compilation.
    See Also:
      Constant Field Values

- ## Constructor Details

  - ### Debug

    public Debug()

- ## Method Details

  - ### println

    public static final void println​(java.lang.String message)
    Prints a line of the debug output. The resulting line goes to System.err and is prefixed by "[DEBUG] ".
    Parameters:
      `message` - message to print.

  - ### check

    public static final void check​(boolean condition, java.lang.String message)
    Checks for the condition. If condition is false this function prints a given message to the System.err along with the stack trace.
    Parameters:
      `condition` - is the condition to check.
      `message` - is the message to print if condition is false.

  - ### check

    public static final void check​(boolean condition)
    Checks for the condition. If condition is false this function prints a "Assertion failed." to the System.err along with the stack trace.
    Parameters:
      `condition` - is the condition to check.

  - ### reportThrowable

    public static final void reportThrowable​(java.lang.Throwable t, java.lang.String message)
    Reports an exception, which should not occur(i.e. handled improperly).
    Parameters:
      `t` - is what was thrown.
      `message` - is algorithm specific message.

  - ### reportThrowable

    public static final void reportThrowable​(java.lang.Throwable t)
    Reports an exception, which should not occur(i.e. handled improperly).
    Parameters:
      `t` - is what was thrown.