Класс AbstractWriter

Прямые известные подклассы:
HTMLWriter, MinimalHTMLWriter
public abstract class AbstractWriter
extends Object

AbstractWriter — это абстрактный класс, который фактически выполняет работу по записи дерева элементов, включая атрибуты. По умолчанию количество символов на строке составляет 100. Однако это значение может быть установлено подклассами.

Поля

Модификатор и тип Поле Описание
protected static char NEWLINE

Как текстовые пакеты моделируют новые строки.

Конструкторы

Модификатор Конструктор Описание
protected AbstractWriter​(Writer w, Document doc)

Создаёт новый AbstractWriter.

protected AbstractWriter​(Writer w, Document doc, int pos, int len)

Создаёт новый AbstractWriter.

protected AbstractWriter​(Writer w, Element root)

Создаёт новый AbstractWriter.

protected AbstractWriter​(Writer w, Element root, int pos, int len)

Создаёт новый AbstractWriter.

Методы

Модификатор и тип Метод Описание
protected void decrIndent()

Уменьшает уровень отступа.

protected boolean getCanWrapLines()

Возвращает, могут ли строки переноситься на новую строку.

protected int getCurrentLineLength()

Возвращает текущую длину строки.

protected Document getDocument()

Получает документ.

protected ElementIterator getElementIterator()

Получает ElementIterator.

int getEndOffset()

Возвращает последний смещение для вывода.

protected int getIndentLevel()

Возвращает текущий уровень отступа.

protected int getIndentSpace()

Возвращает количество пробелов для отступа.

protected int getLineLength()

Возвращает максимальную длину строки.

String getLineSeparator()

Возвращает строку, используемую для представления новых строк.

int getStartOffset()

Возвращает первое смещение для вывода.

protected String getText​(Element elem)

Возвращает текст, связанный с элементом.

protected Writer getWriter()

Возвращает Writer, используемый для вывода содержимого.

protected void incrIndent()

Увеличивает уровень отступа.

protected void indent()

Производит отступ.

protected boolean inRange​(Element next)

Этот метод определяет, находится ли текущий элемент в заданном диапазоне.

protected boolean isLineEmpty()

Возвращает true, если текущая строка должна считаться пустой.

protected void output​(char[] content, int start, int length)

Последний этап записи содержимого.

protected void setCanWrapLines​(boolean newValue)

Устанавливает, могут ли строки переноситься на новую строку.

protected void setCurrentLineLength​(int length)

Устанавливает текущую длину строки.

protected void setIndentSpace​(int space)

Разрешает подклассам указать, сколько пробелов соответствует одному отступу.

protected void setLineLength​(int l)

Разрешает подклассам установить количество символов, которые они хотят вывести на строке.

void setLineSeparator​(String value)

Устанавливает строку, используемую для представления новых строк.

protected void text​(Element elem)

Выводит текст.

protected abstract void write()

Этот абстрактный метод должен быть реализован подклассами.

protected void write​(char ch)

Выводит символ.

protected void write​(char[] chars, int startIndex, int length)

Все методы записи вызывают этот.

protected void write​(String content)

Выводит строку.

protected void writeAttributes​(AttributeSet attr)

Выводит набор атрибутов как пары " <имя>=<значение>".

protected void writeLineSeparator()

Выводит разделитель строк.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

NEWLINE

protected static final char NEWLINE

Как текстовые пакеты моделируют новые строки.

См. также:
getLineSeparator(), Значения константных полей

Конструкторы

AbstractWriter

protected AbstractWriter(Writer w,
                         Document doc)

Создаёт новый AbstractWriter. Инициализирует ElementIterator с корнем документа по умолчанию.

Параметры:
w - Writer.
doc - Документ

AbstractWriter

protected AbstractWriter(Writer w,
                         Document doc,
                         int pos,
                         int len)

Создаёт новый AbstractWriter. Инициализирует ElementIterator с переданным элементом.

Параметры:
w - Writer
doc - Элемент
pos - Позиция в документе для получения содержимого.
len - Количество для вывода.

AbstractWriter

protected AbstractWriter(Writer w,
                         Element root)

Создаёт новый AbstractWriter. Инициализирует ElementIterator с переданным элементом.

Параметры:
w - Writer
root - Элемент

AbstractWriter

protected AbstractWriter(Writer w,
                         Element root,
                         int pos,
                         int len)

Создаёт новый AbstractWriter. Инициализирует ElementIterator с переданным элементом.

Параметры:
w - Writer
root - Элемент
pos - Позиция в документе для получения содержимого.
len - Количество для вывода.

Методы

getStartOffset

public int getStartOffset()

Возвращает первый смещение для вывода.

Возвращает:
первое смещение для вывода
С момента:
1.3

getEndOffset

public int getEndOffset()

Возвращает последнее смещение для вывода.

Возвращает:
последнее смещение для вывода
С момента:
1.3

getElementIterator

protected ElementIterator getElementIterator()

Извлекает ElementIterator.

Возвращает:
ElementIterator.

getWriter

protected Writer getWriter()

Возвращает Writer, используемый для вывода содержимого.

Возвращает:
Writer, используемый для вывода содержимого
С момента:
1.3

getDocument

protected Document getDocument()

Извлекает документ.

Возвращает:
документ.

inRange

protected boolean inRange(Element next)

Этот метод определяет, находится ли текущий элемент в указанном диапазоне. Когда диапазон не указан, диапазон инициализируется как весь документ. inRange() возвращает true, если указанный диапазон пересекается с диапазоном элемента.

Параметры:
next - элемент.
Возвращает:
логическое значение, указывающее, находится ли элемент в диапазоне.

write

protected abstract void write()
                       throws IOException,
                              BadLocationException

Этот абстрактный метод должен быть реализован подклассами. Его задача — итерироваться по элементам и использовать методы write() для генерации вывода в нужном формате.

Исключения:
IOException - если произошла проблема с вводом/выводом
BadLocationException - для неверного местоположения в документе

getText

protected String getText(Element elem)
                  throws BadLocationException

Возвращает текст, связанный с элементом. Здесь предполагается, что элемент является листом. При встрече генерируется BadLocationException.

Параметры:
elem - элемент
Возвращает:
текст в виде
Исключения:
BadLocationException - если pos представляет неверное местоположение в документе

text

protected void text(Element elem)
             throws BadLocationException,
                    IOException

Выводит текст. Если при вызове конструктора был указан диапазон, выводится только соответствующий диапазон текста.

Параметры:
elem - элемент.
Исключения:
IOException - при любой ошибке ввода/вывода
BadLocationException - если pos представляет неверное местоположение в документе.

setLineLength

protected void setLineLength(int l)

Позволяет подклассам задать количество символов, которые они хотят выводить на строке. По умолчанию — 100.

Параметры:
l - максимальная длина строки.

getLineLength

protected int getLineLength()

Возвращает максимальную длину строки.

Возвращает:
максимальную длину строки
С момента:
1.3

setCurrentLineLength

protected void setCurrentLineLength(int length)

Устанавливает текущую длину строки.

Параметры:
length - новая длина строки
С момента:
1.3

getCurrentLineLength

protected int getCurrentLineLength()

Возвращает текущую длину строки.

Возвращает:
текущую длину строки
С момента:
1.3

isLineEmpty

protected boolean isLineEmpty()

Возвращает true, если текущая строка должна считаться пустой. Это true, когда getCurrentLineLength == 0 || indent был вызван в пустой строке.

Возвращает:
true, если текущая строка должна считаться пустой
С момента:
1.3

setCanWrapLines

protected void setCanWrapLines(boolean newValue)

Устанавливает, могут ли строки переноситься с новой строки. Это можно переключать во время вывода строк. Например, при выводе HTML это может быть установлено в false при выводе цитируемой строки.

Параметры:
newValue - новое значение для переноса строк
С момента:
1.3

getCanWrapLines

protected boolean getCanWrapLines()

Возвращает, могут ли строки переноситься с новой строки. Если это false, разделители строк не выводятся.

Возвращает:
могут ли строки переноситься с новой строки
С момента:
1.3

setIndentSpace

protected void setIndentSpace(int space)

Позволяет подклассам указать, сколько пробелов соответствует отступу. При выполнении отступа уровень отступа умножается на это отображение. По умолчанию — 2.

Параметры:
space - целое число, представляющее отображение пробелов для отступа.

getIndentSpace

protected int getIndentSpace()

Возвращает количество пробелов для отступа.

Возвращает:
количество пробелов для отступа
С момента:
1.3

setLineSeparator

public void setLineSeparator(String value)

Устанавливает строку, используемую для представления новой строки. Она инициализируется в конструкторе из документа или системной переменной line.separator.

Параметры:
value - новый разделитель строк
С момента:
1.3

getLineSeparator

public String getLineSeparator()

Возвращает строку, используемую для представления новой строки.

Возвращает:
строку, используемую для представления новой строки
С момента:
1.3

incrIndent

protected void incrIndent()

Увеличивает уровень отступа. Если отступ приведет к getIndentSpace() *getIndentLevel() > getLineLength(), отступ не будет выполнен.

decrIndent

protected void decrIndent()

Уменьшает уровень отступа.

getIndentLevel

protected int getIndentLevel()

Возвращает текущий уровень отступа. То есть количество вызовов incrIndent минус количество вызовов decrIndent.

Возвращает:
текущий уровень отступа
С момента:
1.3

indent

protected void indent()
               throws IOException

Выполняет отступ. Количество выведенных пробелов равно уровню отступа, умноженному на отображение пробелов. Если текущая строка пустая, это не приведет к тому, что текущая строка будет считаться пустой.

Исключения:
IOException - при любой ошибке ввода/вывода

write

protected void write(char ch)
              throws IOException

Выводит символ. Реализовано для вызова метода write, принимающего char[].

Параметры:
ch - символ.
Исключения:
IOException - при любой ошибке ввода/вывода

write

protected void write(String content)
              throws IOException

Выводит строку. Реализовано для вызова метода write, принимающего char[].

Параметры:
content - строка.
Исключения:
IOException - при любой ошибке ввода/вывода

writeLineSeparator

protected void writeLineSeparator()
                           throws IOException

Выводит разделитель строк. Это вызывается напрямую output, а также устанавливает lineLength в 0.

Исключения:
IOException - при любой ошибке ввода/вывода
С момента:
1.3

write

protected void write(char[] chars,
                     int startIndex,
                     int length)
              throws IOException

Все методы write вызывают этот метод. Если getCanWrapLines() возвращает false, этот метод вызовет output с каждой последовательностью chars, которая не содержит NEWLINE, за которым следует вызов writeLineSeparator. С другой стороны, если getCanWrapLines() возвращает true, эта строка разделяется по мере необходимости, чтобы getLineLength соблюдалось. Исключение — если текущая строка не содержит пробелов и не помещается, в этом случае длина строки превысит getLineLength.

Параметры:
chars - символы для вывода
startIndex - начальный индекс
length - длина вывода
Исключения:
IOException - при любой ошибке ввода/вывода
С момента:
1.3

writeAttributes

protected void writeAttributes(AttributeSet attr)
                        throws IOException

Выводит набор атрибутов в виде пар «имя = значение». При встрече генерируется IOException.

Параметры:
attr - набор атрибутов.
Исключения:
IOException - при любой ошибке ввода/вывода

output

protected void output(char[] content,
                      int start,
                      int length)
               throws IOException

Последний этап вывода содержимого. Все методы write в конечном итоге достигают этого метода, который вызывает write на Writer.

Этот метод также обновляет длину строки на основе length. Если этот метод вызван для вывода новой строки, текущую длину строки необходимо сбросить, так как она больше не будет действительной. Если это нужно, это обязанность вызывающего кода. Используйте writeLineSeparator для вывода новой строки, что правильно обновит текущую длину строки.

Параметры:
content - символы для вывода
start - начальный индекс
length - длина вывода
Исключения:
IOException - при любой ошибке ввода/вывода
С момента:
1.3

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/text/AbstractWriter.html

Spec-Zone .ru
спецификации, руководства, описания, API