Class IndentingPrintStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.PrintStream
eu.pedu.lib20s.dbg.IndentingPrintStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable
Direct Known Subclasses:
IndentingReporter

public class IndentingPrintStream
extends java.io.PrintStream
Instance třídy IndentingPrintStream představují dekorátory, které "ozdobí" dekorované výstupní proudy schopností zapisovat vystupující informace tak, aby vynikla požadovaná hierarchie.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected static java.lang.String DEFAULT_ENCODING
    Implicitní nastavované kódování.

    Fields inherited from class java.io.FilterOutputStream

    out
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected IndentingPrintStream​(java.io.OutputStream stream, java.lang.String encoding)
    Vytvoří instanci dekorující zadaný výstupní proud schopností odsazování.
  • Method Summary

    Modifier and Type Method Description
    IndentingPrintStream append​(char c)
    IndentingPrintStream append​(java.lang.CharSequence csq)
    Přebíjím jenom proto, abych dostal požadovaný typ návratové hodnoty.
    IndentingPrintStream append​(java.lang.CharSequence csq, int start, int end)
    IndentingPrintStream format​(java.lang.String format, java.lang.Object... args)
    IndentingPrintStream format​(java.util.Locale l, java.lang.String format, java.lang.Object... args)
    static java.lang.String getDefaultIndentIncrement()
    Vrátí implicitní řetězec vkládaný několikrát na počátek každého tištěného řádku, přičemž počet vložení je shodný s úrovní vnoření.
    java.nio.charset.Charset getCharset()
    Vrátí kódování nastavené pro daný odsazovací tiskový proud.
    IndentingPrintStream indent()
    Přidá jednu úroveň odsazení a odřádkuje.
    static IndentingPrintStream indentifyPrintStream​(java.io.OutputStream stream)
    Vrátí zadaný výstupní proud dekorovaný o schopnost řízeně odsazovat vystupující text a vytvořený dekorovaný proud vrátí.
    static IndentingPrintStream indentifyPrintStream​(java.io.OutputStream stream, java.lang.String codepage)
    Vrátí zadaný výstupní proud dekorovaný o schopnost řízeně odsazovat vystupující text a vytvořený dekorovaný proud vrátí.
    boolean isSystemOut()
    Vrátí informaci o tom, zda je standardní výstup přesměrován na odsazující proud dotazované instance.
    IndentingPrintStream outdent()
    Odebere jednu úroveň odsazení a odřádkuje.
    void print​(java.lang.String s)
    IndentingPrintStream printf​(java.lang.String format, java.lang.Object... args)
    IndentingPrintStream printf​(java.util.Locale l, java.lang.String format, java.lang.Object... args)
    Rodič to převádí na format, který přebíjím
    static boolean returnSystemOut()
    Vrátí standardní výstup do původního nastavení.
    static void setDefaultIndentIncrement​(java.lang.String defaultIncrement)
    Nastaví implicitní řetězec vkládaný několikrát na počátek každého tištěného řádku, přičemž počet vložení je shodný s úrovní vnoření.
    void setIndentIncrement​(java.lang.String indentIncrement)
    Nastaví řetězec vkládaný několikrát na počátek každého tištěného řádku, přičemž počet vložení je shodný s úrovní vnoření.
    static void setSystemOut()
    Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak.
    static void setSystemOut​(java.io.OutputStream outputStream)
    Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak a přitom mu nastaví zadané kódování.
    static void setSystemOut​(java.io.OutputStream outputStream, java.lang.String encoding)
    Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak a přitom mu nastaví zadané kódování.
    static void setSystemOut​(java.lang.String encoding)
    Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak a přitom mu nastaví zadané kódování.
    static void setThreadSensitive​(boolean sensitive)
    Zadá, zda mají odsazované tisky respektovat vlákna.
    static void setToASCII​(boolean toASCII)
    Nastaví, zda neovlivnitelné nastavení původního výstupního proudu vyžaduje převod vystupujícího textu do čistého ASCII.
    void write​(int b)

    Methods inherited from class java.io.PrintStream

    clearError, close, flush, checkError, print, print, print, print, print, print, print, print, println, println, println, println, println, println, println, println, println, println, setError, write, write, writeBytes

    Methods inherited from class java.io.OutputStream

    nullOutputStream

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • IndentingPrintStream

      protected IndentingPrintStream​(java.io.OutputStream stream, java.lang.String encoding) throws java.io.UnsupportedEncodingException
      Vytvoří instanci dekorující zadaný výstupní proud schopností odsazování.
      Parameters:
      encoding - Kódová stránka vytvořeného proudu
      stream - Dekorovaný výstupní proud
      Throws:
      java.io.UnsupportedEncodingException - Při zadání nepodporovaného kódování
  • Method Details

    • getDefaultIndentIncrement

      public static java.lang.String getDefaultIndentIncrement()
      Vrátí implicitní řetězec vkládaný několikrát na počátek každého tištěného řádku, přičemž počet vložení je shodný s úrovní vnoření.
      Returns:
      Implicitní odsazovací řetězec
    • setDefaultIndentIncrement

      public static void setDefaultIndentIncrement​(java.lang.String defaultIncrement)
      Nastaví implicitní řetězec vkládaný několikrát na počátek každého tištěného řádku, přičemž počet vložení je shodný s úrovní vnoření.
      Parameters:
      defaultIncrement - Implicitní odsazovací řetězec
    • setThreadSensitive

      public static void setThreadSensitive​(boolean sensitive)
      Zadá, zda mají odsazované tisky respektovat vlákna. Pokus ano, vytiskne se na počátku každého řádku název daného vlákna.
      Parameters:
      sensitive - Příznak toho, mají-li tisky respektovat vlákna
    • setSystemOut

      public static void setSystemOut()
      Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak.
    • setSystemOut

      public static void setSystemOut​(java.lang.String encoding)
      Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak a přitom mu nastaví zadané kódování.

      Potřebujeme-li změnit kódování aktuálního výstupu, je třeba nejprve nastavit původní stav (zavolat returnSystemOut()) a pak požádat o nastavení standardního výstupu se zadaným kódováním.

      Parameters:
      encoding - Použité kódování výstupu
    • setSystemOut

      public static void setSystemOut​(java.io.OutputStream outputStream)
      Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak a přitom mu nastaví zadané kódování.

      Potřebujeme-li změnit kódování aktuálního výstupu, je třeba nejprve nastavit původní stav (zavolat returnSystemOut()) a pak požádat o nastavení standardního výstupu se zadaným kódováním.

      Parameters:
      outputStream - Výstupní proud nastavovaný jako systémový
    • setSystemOut

      public static void setSystemOut​(java.io.OutputStream outputStream, java.lang.String encoding)
      Není-li ještě standardní výstup dekorován jako odsazovací, učiní tak a přitom mu nastaví zadané kódování.

      Potřebujeme-li změnit kódování systémového výstupu, je třeba nejprve nastavit původní stav (zavolat returnSystemOut()) a pak požádat o nastavení standardního výstupu se zadaným kódováním.

      Parameters:
      outputStream - Výstupní proud nastavovaný jako systémový
      encoding - Použité kódování výstupu
    • setToASCII

      public static void setToASCII​(boolean toASCII)
      Nastaví, zda neovlivnitelné nastavení původního výstupního proudu vyžaduje převod vystupujícího textu do čistého ASCII.
      Parameters:
      toASCII - Nastavovaná hodnota
    • returnSystemOut

      public static boolean returnSystemOut()
      Vrátí standardní výstup do původního nastavení.
      Returns:
      Pokud se něco změnilo, vrátí true, jinak vrátí false
    • indentifyPrintStream

      public static IndentingPrintStream indentifyPrintStream​(java.io.OutputStream stream)
      Vrátí zadaný výstupní proud dekorovaný o schopnost řízeně odsazovat vystupující text a vytvořený dekorovaný proud vrátí. Pro vytvořený proud bude použito kódování UTF-8.
      Parameters:
      stream - Dekorovaný proud
      Returns:
      Standardní výstupní proud dekorovaný o schopnost odsazování
    • indentifyPrintStream

      public static IndentingPrintStream indentifyPrintStream​(java.io.OutputStream stream, java.lang.String codepage)
      Vrátí zadaný výstupní proud dekorovaný o schopnost řízeně odsazovat vystupující text a vytvořený dekorovaný proud vrátí.
      Parameters:
      stream - Dekorovaný proud
      codepage - Kódová stránka vytvořeného proudu
      Returns:
      Standardní výstupní proud dekorovaný o schopnost odsazování
    • getCharset

      public java.nio.charset.Charset getCharset()
      Vrátí kódování nastavené pro daný odsazovací tiskový proud.
      Returns:
      Nastavené kódování
    • setIndentIncrement

      public void setIndentIncrement​(java.lang.String indentIncrement)
      Nastaví řetězec vkládaný několikrát na počátek každého tištěného řádku, přičemž počet vložení je shodný s úrovní vnoření.
      Parameters:
      indentIncrement - Zadávaný odsazovací řetězec
    • isSystemOut

      public boolean isSystemOut()
      Vrátí informaci o tom, zda je standardní výstup přesměrován na odsazující proud dotazované instance.
      Returns:
      Informace o přesměrování standardního výstupu
    • indent

      public IndentingPrintStream indent()
      Přidá jednu úroveň odsazení a odřádkuje. Další řádek tak bude o jedno odsazení bohatší.
      Returns:
      Vrátí odkaz na sebe, aby bylo možno příkazy řetězit
    • outdent

      public IndentingPrintStream outdent()
      Odebere jednu úroveň odsazení a odřádkuje. Další řádek tak bude o jedno odsazení chudší.
      Returns:
      Vrátí odkaz na sebe, aby bylo možno příkazy řetězit
    • append

      public IndentingPrintStream append​(java.lang.CharSequence csq)
      Přebíjím jenom proto, abych dostal požadovaný typ návratové hodnoty.
      Specified by:
      append in interface java.lang.Appendable
      Overrides:
      append in class java.io.PrintStream
      Parameters:
      csq - Připojovaná posloupnost znaků
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • append

      public IndentingPrintStream append​(java.lang.CharSequence csq, int start, int end)
      Specified by:
      append in interface java.lang.Appendable
      Overrides:
      append in class java.io.PrintStream
      Parameters:
      csq - Připojovaná posloupnost znaků
      start - Index prvního přidávaného znaku
      end - Index znaku za posledním přidávaným znakem
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • append

      public IndentingPrintStream append​(char c)
      Specified by:
      append in interface java.lang.Appendable
      Overrides:
      append in class java.io.PrintStream
      Parameters:
      c - Přidávaný znak
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • format

      public IndentingPrintStream format​(java.lang.String format, java.lang.Object... args)
      Overrides:
      format in class java.io.PrintStream
      Parameters:
      format - Formát vraceného textu
      args - Parametry, jejichž hodnoty se budou tisknout
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • format

      public IndentingPrintStream format​(java.util.Locale l, java.lang.String format, java.lang.Object... args)
      Overrides:
      format in class java.io.PrintStream
      Parameters:
      l - Použité Locale
      format - Formát vraceného textu
      args - Parametry, jejichž hodnoty se budou tisknout
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • printf

      public IndentingPrintStream printf​(java.lang.String format, java.lang.Object... args)
      Overrides:
      printf in class java.io.PrintStream
      Parameters:
      format - Formát vraceného textu
      args - Parametry, jejichž hodnoty se budou tisknout
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • printf

      public IndentingPrintStream printf​(java.util.Locale l, java.lang.String format, java.lang.Object... args)
      Rodič to převádí na format, který přebíjím
      Overrides:
      printf in class java.io.PrintStream
      Parameters:
      l - Použité Locale
      format - Formát vraceného textu
      args - Parametry, jejichž hodnoty se budou tisknout
      Returns:
      Odkaz na svoji instanci, aby bylo možno příkazy řetězit
    • print

      public void print​(java.lang.String s)
      Overrides:
      print in class java.io.PrintStream
      Parameters:
      s - Zapisovaný řetězec
    • write

      public void write​(int b)
      Overrides:
      write in class java.io.PrintStream
      Parameters:
      b - Zapisovaný znak