Класс 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- Документ
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