Spec-Zone.ru › OpenJDK 8

Класс AbstractWriter

  • java.lang.Object
    • javax.swing.text.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 - объект Document

AbstractWriter

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

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

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

AbstractWriter

protected AbstractWriter(Writer w,
                         Element root)

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

Параметры:
w - объект Writer
root - элемент Element

AbstractWriter

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

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

Параметры:
w - объект Writer
root - элемент Element
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, используемый для вывода содержимого.

С:
1.3

getDocument

protected Document getDocument()

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

Возвращает:
объект Document.

inRange

protected boolean inRange(Element next)

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

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

write

protected abstract void write()
                       throws IOException,
                              BadLocationException

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

Выбрасывает:
IOException
BadLocationException

getText

protected String getText(Element elem)
                  throws BadLocationException

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

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

text

protected void text(Element elem)
             throws BadLocationException,
                    IOException

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

Параметры:
elem - элемент Element.
Выбрасывает:
IOException - при любой ошибке ввода-вывода
BadLocationException - если pos представляет недопустимую позицию в документе.

setLineLength

protected void setLineLength(int l)

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

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

getLineLength

protected int getLineLength()

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

С:
1.3

setCurrentLineLength

protected void setCurrentLineLength(int length)

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

С:
1.3

getCurrentLineLength

protected int getCurrentLineLength()

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

С:
1.3

isLineEmpty

protected boolean isLineEmpty()

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

С:
1.3

setCanWrapLines

protected void setCanWrapLines(boolean newValue)

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

С:
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.

С:
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.

Выбрасывает:
IOException
С:
1.3

writeAttributes

protected void writeAttributes(AttributeSet attr)
                        throws IOException

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

Параметры:
attr - атрибуты AttributeSet.
Выбрасывает:
IOException - при любой ошибке ввода-вывода

output

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

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

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

Выбрасывает:
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API