Package eu.pedu.lib20s.dbg
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í. -
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ímstatic 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)
-
Field Details
-
DEFAULT_ENCODING
protected static final java.lang.String DEFAULT_ENCODINGImplicitní nastavované kódování.- See Also:
- Constant Field Values
-
-
Constructor Details
-
IndentingPrintStream
protected IndentingPrintStream(java.io.OutputStream stream, java.lang.String encoding) throws java.io.UnsupportedEncodingExceptionVytvoří instanci dekorující zadaný výstupní proud schopností odsazování.- Parameters:
encoding
- Kódová stránka vytvořeného proudustream
- 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
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ý proudcodepage
- 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
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
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
Přebíjím jenom proto, abych dostal požadovaný typ návratové hodnoty.- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.PrintStream
- Parameters:
csq
- Připojovaná posloupnost znaků- Returns:
- Odkaz na svoji instanci, aby bylo možno příkazy řetězit
-
append
- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.PrintStream
- Parameters:
csq
- Připojovaná posloupnost znakůstart
- Index prvního přidávaného znakuend
- Index znaku za posledním přidávaným znakem- Returns:
- Odkaz na svoji instanci, aby bylo možno příkazy řetězit
-
append
- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.PrintStream
- Parameters:
c
- Přidávaný znak- Returns:
- Odkaz na svoji instanci, aby bylo možno příkazy řetězit
-
format
- Overrides:
format
in classjava.io.PrintStream
- Parameters:
format
- Formát vraceného textuargs
- 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 classjava.io.PrintStream
- Parameters:
l
- PoužitéLocale
format
- Formát vraceného textuargs
- Parametry, jejichž hodnoty se budou tisknout- Returns:
- Odkaz na svoji instanci, aby bylo možno příkazy řetězit
-
printf
- Overrides:
printf
in classjava.io.PrintStream
- Parameters:
format
- Formát vraceného textuargs
- 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 classjava.io.PrintStream
- Parameters:
l
- PoužitéLocale
format
- Formát vraceného textuargs
- 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 classjava.io.PrintStream
- Parameters:
s
- Zapisovaný řetězec
-
write
public void write(int b)- Overrides:
write
in classjava.io.PrintStream
- Parameters:
b
- Zapisovaný znak
-