Package xyz.cofe.text
Class StackWriter
java.lang.Object
java.io.Writer
xyz.cofe.text.StackWriter
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.Appendable,java.lang.AutoCloseable
public class StackWriter
extends java.io.Writer
Writer с поддержкой стековой памяти
- Author:
- gocha
-
Field Summary
-
Constructor Summary
Constructors Constructor Description StackWriter(java.io.Writer output)Конструктор -
Method Summary
Modifier and Type Method Description voidclose()Вызывает flush(), а затем в обратной последовательности close() для стека writer-ов.voidflush()Скидывает содежимое всего стека в основной writer, в той же последовательности что и соот. вызовы write(...)java.util.Stack<java.io.Writer>getStack()Указывает стек памяти writer-овjava.lang.Stringpop()Извлекает из текущего writer-а что было напечатано, восстанавливает из стека текущий writer.voidpush()Сохраняет в стеке текущий writer.voidwrite(char[] cbuf, int off, int len)
-
Field Details
-
Constructor Details
-
StackWriter
public StackWriter(java.io.Writer output)Конструктор- Parameters:
output- куда производить вывод
-
-
Method Details
-
getStack
public java.util.Stack<java.io.Writer> getStack()Указывает стек памяти writer-ов- Returns:
- Стек памяти writer-ов
-
push
public void push()Сохраняет в стеке текущий writer. Создает новый writer в памяти и устанавливает как текущий. -
pop
public java.lang.String pop()Извлекает из текущего writer-а что было напечатано, восстанавливает из стека текущий writer. Что было в предыдущем writer-е НЕ помещается в текущий writer.- Returns:
- Что было напечатано от предыдущего вызова push();
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException- Specified by:
writein classjava.io.Writer- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOExceptionСкидывает содежимое всего стека в основной writer, в той же последовательности что и соот. вызовы write(...)- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin classjava.io.Writer- Throws:
java.io.IOException- Ошибка IO
-
close
public void close() throws java.io.IOExceptionВызывает flush(), а затем в обратной последовательности close() для стека writer-ов. После чего удаляет содержимое стека.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classjava.io.Writer- Throws:
java.io.IOException- Ошибка IO
-