Package xyz.cofe.text
Class EndLineReWriter
- java.lang.Object
-
- java.io.Writer
-
- xyz.cofe.text.EndLineReWriter
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.Appendable,java.lang.AutoCloseable
- Direct Known Subclasses:
PrefixWriter
public class EndLineReWriter extends java.io.WriterПреобразовывает известные символы переводы строк (Windows,Linux,Mac,...) в указанную форму.
Пример, исходная строка:
"linux\nMac\rWindows\r\nOther\n\r..."
Будет переведена как, если указана форма Linux (\n):
"linux\nMac\nWindows\nOther\n..."- Author:
- gocha
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringendlСимволы перевода строкprotected java.util.function.Function<java.lang.String,java.lang.String>lineConvertorФункция преобразование строки.protected java.io.Writerwriterсюда записывается преобразованный текст
-
Constructor Summary
Constructors Constructor Description EndLineReWriter(java.io.Writer writer)КонструкторEndLineReWriter(java.io.Writer writer, java.lang.String endl)КонструкторEndLineReWriter(java.io.Writer writer, EndLine endl)Конструктор
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()java.lang.StringgetEndl()Символы перевода строк в которые необходимо перевести обнаруженныеEndLinegetEndLine()Символы перевода строк в которые необходимо перевести обнаруженныеprotected java.lang.StringBuildergetLineBuffer()Буфер текущей строки строкиjava.util.function.Function<java.lang.String,java.lang.String>getLineConvertor()Указываеют функцию преобразования строкиprotected voidlineBufferAppend(char c)Добавить символ в буфер строкиprotected voidlineBufferFlush(boolean forceConvert)Сброс буфера текущей строкиvoidsetEndl(java.lang.String endl)Указывает символы перевода строк в которые необходимо перевести обнаруженныеvoidsetEndLine(EndLine endline)Указывает символы перевода строк в которые необходимо перевести обнаруженныеvoidsetLineConvertor(java.util.function.Function<java.lang.String,java.lang.String> newLineConv)Указываеют функцию преобразования строкиvoidwrite(char[] cbuf, int off, int len)protected voidwriteChar(char c0)Записывает символ в потокprotected voidwriteEndLine()Записывает перевод строки в потокprotected voidwriteEndLine(char[] cbuff, int coff, int clen, char[] newlineChar, int nlOff)Записывает перевод строки в поток
-
-
-
Field Detail
-
writer
protected java.io.Writer writer
сюда записывается преобразованный текст
-
endl
protected java.lang.String endl
Символы перевода строк
-
lineConvertor
protected java.util.function.Function<java.lang.String,java.lang.String> lineConvertor
Функция преобразование строки. Может использования для добавления префикса или еще каких либо действий
-
-
Constructor Detail
-
EndLineReWriter
public EndLineReWriter(java.io.Writer writer)
Конструктор- Parameters:
writer- сюда записывается преобразованный текст
-
EndLineReWriter
public EndLineReWriter(java.io.Writer writer, java.lang.String endl)Конструктор- Parameters:
writer- сюда записывается преобразованный текстendl- Символы перевода строк
-
EndLineReWriter
public EndLineReWriter(java.io.Writer writer, EndLine endl)Конструктор- Parameters:
writer- сюда записывается преобразованный текстendl- Символы перевода строк
-
-
Method Detail
-
getEndl
public java.lang.String getEndl()
Символы перевода строк в которые необходимо перевести обнаруженные- Returns:
- целевые символы перевода строк
-
setEndl
public void setEndl(java.lang.String endl)
Указывает символы перевода строк в которые необходимо перевести обнаруженные- Parameters:
endl- целевые символы перевода строк
-
setEndLine
public void setEndLine(EndLine endline)
Указывает символы перевода строк в которые необходимо перевести обнаруженные- Parameters:
endline- целевые символы перевода строк
-
getEndLine
public EndLine getEndLine()
Символы перевода строк в которые необходимо перевести обнаруженные- Returns:
- целевые символы перевода строк. Вычисляет на основании совпадения свойства endl, если нет совпадения, то возвращает null.
-
getLineBuffer
protected java.lang.StringBuilder getLineBuffer()
Буфер текущей строки строки- Returns:
- буфер
-
getLineConvertor
public java.util.function.Function<java.lang.String,java.lang.String> getLineConvertor()
Указываеют функцию преобразования строки- Returns:
- функция конвертирования
-
setLineConvertor
public void setLineConvertor(java.util.function.Function<java.lang.String,java.lang.String> newLineConv)
Указываеют функцию преобразования строки- Parameters:
newLineConv- функция конвертирования
-
lineBufferFlush
protected void lineBufferFlush(boolean forceConvert) throws java.io.IOExceptionСброс буфера текущей строки- Parameters:
forceConvert- true - Конвертировать строку без учета длины буфера- Throws:
java.io.IOException- Ошибка IO
-
lineBufferAppend
protected void lineBufferAppend(char c)
Добавить символ в буфер строки- Parameters:
c- символ
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException- Specified by:
writein classjava.io.Writer- Throws:
java.io.IOException
-
writeEndLine
protected void writeEndLine() throws java.io.IOExceptionЗаписывает перевод строки в поток- Throws:
java.io.IOException- Ошибка IO
-
writeEndLine
protected void writeEndLine(char[] cbuff, int coff, int clen, char[] newlineChar, int nlOff) throws java.io.IOExceptionЗаписывает перевод строки в поток- Parameters:
cbuff- Буффер байтовcoff- Смещение начала текста в буфереclen- Размер текстаnewlineChar- Размер символы перевода строкnlOff- Смещение в буфере символов перевода строк- Throws:
java.io.IOException- Ошибка IO
-
writeChar
protected void writeChar(char c0) throws java.io.IOExceptionЗаписывает символ в поток- Parameters:
c0- Символ- Throws:
java.io.IOException- Ошибка IO
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin classjava.io.Writer- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classjava.io.Writer- Throws:
java.io.IOException
-
-