Class DBG

java.lang.Object
eu.pedu.lib20s.dbg.DBG

public final class DBG
extends java.lang.Object
Knihovní třída DBG poskytuje metody pro podmíněný výstup ladicích tisků do předem zadaného proudu, kterým muže byt standardní výstup, standardní chybový výstup, libovolný proud typu PrintStream nebo soubor, který se v případě potřeby nejprve vytvoří.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static int DEBUG_LEVEL
    Proměnná, jejíž hodnota ovlivňuje, zda se budou požadované tisky provádět nebo ne.
  • Method Summary

    Modifier and Type Method Description
    static IndentingPrintStream addOutputStream​(java.io.OutputStream stream)
    Přidá zadaný výstupní proud mezi proudy, do nichž se zapisuje a vrátí proud typu IndentingPrintStream, dekorující zadaný proud; pokud byl zadaný proud již dříve přidán a není jej proto potřeba znovu přidávat, vrátí null.
    static void addOutputStream​(java.lang.String path)
    Je-li jako parametr zadaná hodnota "out" nebo "err", přidá do seznamu příslušný standardní proud; jiná podoba řetězce definuje cestu k souboru, který má být přidán do seznamu výstupních proudů.
    static int getDEBUG_LEVEL()
    Vrátí aktuální hladinu podrobnosti kontrolních tisků; čím vyšší hodnota, tím víc bude realizovaných kontrolních tisků.
    static java.util.Collection<IndentingPrintStream> getOutputStreams()
    Vrátí kolekci proudů, do nichž odcházejí tisky
    static IndentingPrintStream getWrapperOf​(java.io.PrintStream stream)
    Vrátí proud typu IndentingPrintStream dekorující zadaný proud.
    static void pr​(int dbgLevel, java.lang.Object value)
    Je-li DEBUG_LEVEL >= dbgLevel, vypíše zadanou hodnotu bez závěrečného odřádkování.
    static void pr​(java.lang.Object value)
    Je-li DEBUG_LEVEL > 0, vypíše zadanou hodnotu bez závěrečného odřádkování.
    static void prf​(int dbgLevel, java.lang.String format, java.lang.Object... values)
    Je-li DEBUG_LEVEL >= hladina, vypíše zadané hodnoty v zadaném formátu.
    static void prf​(java.lang.String format, java.lang.Object... values)
    Je-li DEBUG_LEVEL > 0, vypíše zadané hodnoty v zadaném formátu.
    static void prln​(int dbgLevel, java.lang.Object value)
    Je-li DEBUG_LEVEL >= dbgLevel, vypíše zadanou hodnotu a odřádkuje.
    static void prln​(java.lang.Object value)
    Je-li DEBUG_LEVEL > 0, vypíše zadanou hodnotu a odřádkuje.
    static void prNln​(int dbgLevel, java.lang.String header, java.lang.Object[] array)
    Je-li DEBUG_LEVEL > dbgLevel, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného pole každý na samostatný řádek odsazený proti záhlaví.
    static void prNln​(int dbgLevel, java.lang.String header, java.util.Collection<?> collection)
    Je-li DEBUG_LEVEL > dbgLevel, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadané kolekce každý na samostatný řádek odsazený proti záhlaví.
    static void prNln​(int dbgLevel, java.lang.String header, java.util.stream.Stream<?> stream)
    Je-li DEBUG_LEVEL > dbgLevel, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného pole každý na samostatný řádek odsazený proti záhlaví.
    static void prNln​(java.lang.String header, java.lang.Object[] array)
    Je-li DEBUG_LEVEL > 0, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného pole každý na samostatný řádek odsazený proti záhlaví.
    static void prNln​(java.lang.String header, java.util.Collection<?> collection)
    Je-li DEBUG_LEVEL > 0, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadané kolekce každý na samostatný řádek odsazený proti záhlaví.
    static void prNln​(java.lang.String header, java.util.stream.Stream<?> stream)
    Je-li DEBUG_LEVEL > 0, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného proudu každý na samostatný řádek odsazený proti záhlaví.
    static boolean removeOutputStream​(java.io.OutputStream outputStream)
    Odebere zadaný tiskový proud ze seznamu proudů, do nichž se zapisuje a vrátí informaci o tom, jestli se tím seznam změnil, tj. jestli byl zadaný proud před žádostí o odebrání v seznamu.
    static void setDEBUG_LEVEL​(int newLevel)
    Nastaví aktuální hladinu podrobnosti kontrolních tisků; čím vyšší hodnota, tím víc bude realizovaných kontrolních tisků.
    static java.lang.String stackTrace​(java.lang.Throwable e)
    Vrátí řetězec s výpisem zásobníku odpovídajícím zadané výjimce.
    static void wait​(int milliseconds)
    Počká zadaný počet milisekund.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEBUG_LEVEL

      public static int DEBUG_LEVEL
      Proměnná, jejíž hodnota ovlivňuje, zda se budou požadované tisky provádět nebo ne. Čím vyšší hodnota, tím víc bude realizovaných kontrolních tisků.
  • Method Details

    • getDEBUG_LEVEL

      public static int getDEBUG_LEVEL()
      Vrátí aktuální hladinu podrobnosti kontrolních tisků; čím vyšší hodnota, tím víc bude realizovaných kontrolních tisků.
      Returns:
      Aktuální hladina podrobnosti kontrolních tisků
    • setDEBUG_LEVEL

      public static void setDEBUG_LEVEL​(int newLevel)
      Nastaví aktuální hladinu podrobnosti kontrolních tisků; čím vyšší hodnota, tím víc bude realizovaných kontrolních tisků. Implicitní hodnota je rovna 1, při níž tisknou i ty metody, které nemají explicitně zadán parametr s hladinou tisku. Při hladině 0 již tyto metody netisknou. Metody s explicitně zadaným parametrem hladiny tisků tisknou tehdy, je-li hodnota tohoto parametru <= aktuální hladina.
      Parameters:
      newLevel - Požadovaná nová hladina;
    • getOutputStreams

      public static java.util.Collection<IndentingPrintStream> getOutputStreams()
      Vrátí kolekci proudů, do nichž odcházejí tisky
      Returns:
      Kolekce proudů, do nichž odcházejí tisky
    • getWrapperOf

      public static IndentingPrintStream getWrapperOf​(java.io.PrintStream stream)
      Vrátí proud typu IndentingPrintStream dekorující zadaný proud.
      Parameters:
      stream - Tiskový proud, zařazený mezi výstupní
      Returns:
      Proud typu IndentingPrintStream dekorující daný proud
    • addOutputStream

      public static IndentingPrintStream addOutputStream​(java.io.OutputStream stream)
      Přidá zadaný výstupní proud mezi proudy, do nichž se zapisuje a vrátí proud typu IndentingPrintStream, dekorující zadaný proud; pokud byl zadaný proud již dříve přidán a není jej proto potřeba znovu přidávat, vrátí null.
      Parameters:
      stream - Přidávaný tiskový proud
      Returns:
      Nebyl-li proud v seznamu a byl proto přidán, vrátí true, by-li již v seznamu a nebylo jej proto třeba přidávat, vrátí false
    • addOutputStream

      public static void addOutputStream​(java.lang.String path)
      Je-li jako parametr zadaná hodnota "out" nebo "err", přidá do seznamu příslušný standardní proud; jiná podoba řetězce definuje cestu k souboru, který má být přidán do seznamu výstupních proudů. Pokud tento soubor neexistuje, metoda se jej pokusí vytvořit. Proudy jsou při přidání automaticky dekorovány jako odsazovací, tj. jako proudy typu IndentingPrintStream.
      Parameters:
      path - Název / cesta k proudu přidávanému do seznamu
    • removeOutputStream

      public static boolean removeOutputStream​(java.io.OutputStream outputStream)
      Odebere zadaný tiskový proud ze seznamu proudů, do nichž se zapisuje a vrátí informaci o tom, jestli se tím seznam změnil, tj. jestli byl zadaný proud před žádostí o odebrání v seznamu. Protože se zadává instance odebíraného proudu, tak tiskové proudy přidávané zadáním názvu "out" nebo "err" není možno obdobně odebrat. Je-li proto očekávatelné odebrání některého z nich, je vhodnější je vložit zadáním instance než zadáním textu.
      Parameters:
      outputStream - Odebíraný tiskový proud
      Returns:
      Byl-li proud v seznamu, vrátí true, jinak vrátí false
    • pr

      public static void pr​(java.lang.Object value)
      Je-li DEBUG_LEVEL > 0, vypíše zadanou hodnotu bez závěrečného odřádkování.
      Parameters:
      value - Vypisovaná hodnota
    • pr

      public static void pr​(int dbgLevel, java.lang.Object value)
      Je-li DEBUG_LEVEL >= dbgLevel, vypíše zadanou hodnotu bez závěrečného odřádkování.
      Parameters:
      dbgLevel - Hladina významnosti určující, zda se bude vypisovat
      value - Vypisovaná hodnota
    • prf

      public static void prf​(java.lang.String format, java.lang.Object... values)
      Je-li DEBUG_LEVEL > 0, vypíše zadané hodnoty v zadaném formátu.
      Parameters:
      format - Formát specifikující způsob vypsání zadaných hodnot
      values - Vypisované hodnoty
    • prf

      public static void prf​(int dbgLevel, java.lang.String format, java.lang.Object... values)
      Je-li DEBUG_LEVEL >= hladina, vypíše zadané hodnoty v zadaném formátu.
      Parameters:
      dbgLevel - Hladina významnosti určující, zda se bude vypisovat
      format - Formát specifikující způsob vypsání zadaných hodnot
      values - Vypisované hodnoty
    • prln

      public static void prln​(java.lang.Object value)
      Je-li DEBUG_LEVEL > 0, vypíše zadanou hodnotu a odřádkuje.
      Parameters:
      value - Vypisovaná hodnota
    • prln

      public static void prln​(int dbgLevel, java.lang.Object value)
      Je-li DEBUG_LEVEL >= dbgLevel, vypíše zadanou hodnotu a odřádkuje.
      Parameters:
      dbgLevel - Hladina významnosti určující, zda se bude vypisovat
      value - Vypisovaná hodnota
    • prNln

      public static void prNln​(java.lang.String header, java.lang.Object[] array)
      Je-li DEBUG_LEVEL > 0, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného pole každý na samostatný řádek odsazený proti záhlaví.
      Parameters:
      header - Záhlaví vytištěného pole
      array - Pole objektů, jejichž podpisy se budou vypisovat
    • prNln

      public static void prNln​(int dbgLevel, java.lang.String header, java.lang.Object[] array)
      Je-li DEBUG_LEVEL > dbgLevel, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného pole každý na samostatný řádek odsazený proti záhlaví.
      Parameters:
      dbgLevel - Hladina významnosti určující, zda se bude vypisovat
      header - Záhlaví vypisovaného pole
      array - Pole objektů, jejichž podpisy se budou vypisovat
    • prNln

      public static void prNln​(java.lang.String header, java.util.Collection<?> collection)
      Je-li DEBUG_LEVEL > 0, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadané kolekce každý na samostatný řádek odsazený proti záhlaví.
      Parameters:
      header - Záhlaví vypisované kolekce
      collection - Kolekce objektů, jejichž podpisy se budou vypisovat
    • prNln

      public static void prNln​(int dbgLevel, java.lang.String header, java.util.Collection<?> collection)
      Je-li DEBUG_LEVEL > dbgLevel, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadané kolekce každý na samostatný řádek odsazený proti záhlaví.
      Parameters:
      dbgLevel - Hladina významnosti určující, zda se bude vypisovat
      header - Záhlaví vypisované kolekce
      collection - Kolekce objektů, jejichž podpisy se budou vypisovat
    • prNln

      public static void prNln​(java.lang.String header, java.util.stream.Stream<?> stream)
      Je-li DEBUG_LEVEL > 0, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného proudu každý na samostatný řádek odsazený proti záhlaví.
      Parameters:
      header - Záhlaví vypisovaného pole
      stream - Pole objektů, jejichž podpisy se budou vypisovat
    • prNln

      public static void prNln​(int dbgLevel, java.lang.String header, java.util.stream.Stream<?> stream)
      Je-li DEBUG_LEVEL > dbgLevel, vypíše zadané záhlaví a pod ním podpisy jednotlivých prvků zadaného pole každý na samostatný řádek odsazený proti záhlaví.
      Parameters:
      dbgLevel - Hladina významnosti určující, zda se bude vypisovat
      header - Záhlaví vypisovaného pole
      stream - Pole objektů, jejichž podpisy se budou vypisovat
    • stackTrace

      public static java.lang.String stackTrace​(java.lang.Throwable e)
      Vrátí řetězec s výpisem zásobníku odpovídajícím zadané výjimce.
      Parameters:
      e - Výjimka, jejíž výpis zásobníku nás zajímá
      Returns:
      Text výpisu zásobníku zadané výjimky
    • wait

      public static void wait​(int milliseconds)
      Počká zadaný počet milisekund. Na přerusení reaguje tak, že skončí čekání a před ukončením metody znovu požádá o přerušení vlastního vlákna. Ošetření tohoto přerušení tak deleguje na volající metodu.
      Parameters:
      milliseconds - Počet milisekund, po něž se má čekat.