Класс GapContent
- Все реализуемые интерфейсы:
Serializable, AbstractDocument.Content
public class GapContent extends Object implements AbstractDocument.Content, Serializable
Позиции, отслеживающие изменения, также обычно поддерживать несложно. Реализации Position (отметки) хранят индекс массива и могут легко вычислить последовательную позицию по текущему расположению промежутка. При перемещении промежутка необходимо обновить только отметки между старой и новой границами промежутка, поэтому обновление отметок, как правило, обходится довольно дёшево. Отметки хранятся в отсортированном порядке, поэтому их можно быстро находить с помощью двоичного поиска. Это увеличивает затраты на добавление отметки и снижает затраты на её обновление.
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
GapContent() |
Создаёт новый объект GapContent. |
GapContent |
Создаёт новый объект GapContent с заданным начальным размером. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
allocateArray |
Выделяет массив для хранения элементов соответствующего типа (определяемого подклассом). |
Position |
createPosition |
Создаёт позицию в содержимом, которая будет отслеживать изменения при модификации содержимого. |
protected final Object |
getArray() |
Доступ к массиву. |
protected int |
getArrayLength() |
Возвращает длину выделенного массива. |
void |
getChars |
Извлекает часть содержимого. |
protected final int |
getGapEnd() |
Доступ к концу промежутка. |
protected final int |
getGapStart() |
Доступ к началу промежутка. |
protected Vector |
getPositionsInRange |
Возвращает Vector, содержащий экземпляры UndoPosRef для позиций в диапазоне от offset до offset + length. |
String |
getString |
Извлекает часть содержимого. |
UndoableEdit |
insertString |
Вставляет строку в содержимое. |
int |
length() |
Возвращает длину содержимого. |
UndoableEdit |
remove |
Удаляет часть содержимого. |
protected void |
replace |
Заменяет указанные элементы в хранилище по заданной логической позиции новыми элементами. |
protected void |
resetMarksAtZero() |
Сбрасывает индекс всех отметок со смещением 0 на ноль. |
protected void |
shiftEnd |
Увеличивает размер промежутка, перемещая необходимые данные и обновляя соответствующие отметки. |
protected void |
shiftGap |
Перемещает начало промежутка в новое место, не меняя размер промежутка. |
protected void |
shiftGapEndUp |
Сдвигает конец промежутка вверх. |
protected void |
shiftGapStartDown |
Сдвигает конец промежутка вниз. |
protected void |
updateUndoPositions |
Сбрасывает расположение всех экземпляров UndoPosRef в positions. |
Методы, унаследованные от класса Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Метод финализации устарел и может быть удалён в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка времени. |
Подробное описание конструкторов
GapContent
public GapContent()
GapContent
public GapContent(int initialLength)
- Параметры:
-
initialLength— начальный размер
Подробное описание методов
allocateArray
protected Object allocateArray(int len)
- Параметры:
-
len— длина массива - Возвращает:
- массив Java некоторого типа
getArrayLength
protected int getArrayLength()
- Возвращает:
- длина массива
length
public int length()
- Определён в:
-
lengthв интерфейсеAbstractDocument.Content - Возвращает:
- длина >= 1
- См. также:
insertString
public UndoableEdit insertString(int where, String str) throws BadLocationException
- Определён в:
-
insertStringв интерфейсеAbstractDocument.Content - Параметры:
-
where— начальная позиция >= 0, < length() -
str— непустая строка для вставки - Возвращает:
- объект UndoableEdit для отмены действия
- Вызывает исключение:
-
BadLocationException— если указана недопустимая позиция - См. также:
remove
public UndoableEdit remove(int where, int nitems) throws BadLocationException
- Определён в:
-
removeв интерфейсеAbstractDocument.Content - Параметры:
-
where— начальная позиция >= 0, при этом + nitems < length() -
nitems— количество удаляемых символов >= 0 - Возвращает:
- объект UndoableEdit для отмены действия
- Вызывает исключение:
-
BadLocationException— если указана недопустимая позиция - См. также:
getString
public String getString(int where, int len) throws BadLocationException
- Определён в:
-
getStringв интерфейсеAbstractDocument.Content - Параметры:
-
where— начальная позиция >= 0 -
len— длина извлекаемого фрагмента >= 0 - Возвращает:
- строка, представляющая содержимое
- Вызывает исключение:
-
BadLocationException— если указана недопустимая позиция - См. также:
getChars
public void getChars(int where, int len, Segment chars) throws BadLocationException
- Определён в:
-
getCharsв интерфейсеAbstractDocument.Content - Параметры:
-
where— начальная позиция >= 0, при этом + len <= length() -
len— количество извлекаемых символов >= 0 -
chars— объект Segment, в который нужно поместить символы - Вызывает исключение:
-
BadLocationException— если указана недопустимая позиция - См. также:
createPosition
public Position createPosition(int offset) throws BadLocationException
- Определён в:
-
createPositionв интерфейсеAbstractDocument.Content - Параметры:
-
offset— отслеживаемое смещение >= 0 - Возвращает:
- позиция
- Вызывает исключение:
-
BadLocationException— если указана недопустимая позиция
shiftEnd
protected void shiftEnd(int newSize)
- Параметры:
-
newSize— новая ёмкость
shiftGap
protected void shiftGap(int newGapStart)
- Параметры:
-
newGapStart— новое начало промежутка
resetMarksAtZero
protected void resetMarksAtZero()
shiftGapStartDown
protected void shiftGapStartDown(int newGapStart)
- Параметры:
-
newGapStart— новое начало промежутка
shiftGapEndUp
protected void shiftGapEndUp(int newGapEnd)
- Параметры:
-
newGapEnd— новый конец промежутка
getPositionsInRange
protected Vector getPositionsInRange(Vector v, int offset, int length)
offset до offset + length. Если v не равен null, соответствующие позиции помещаются в него. Возвращается вектор с полученными позициями.- Параметры:
-
v— используемый Vector; если он равен null, создаётся новый -
offset— начальное смещение >= 0 -
length— длина >= 0 - Возвращает:
- набор экземпляров
updateUndoPositions
protected void updateUndoPositions(Vector positions, int offset, int length)
positions. Этот метод предназначен для внутреннего использования и обычно не представляет интереса для подклассов.
- Параметры:
-
positions— экземпляры UndoPosRef для сброса -
offset— место вставки строки -
length— длина вставленной строки
getArray
protected final Object getArray()
- Возвращает:
- массив Java некоторого типа
getGapStart
protected final int getGapStart()
- Возвращает:
- начало промежутка
getGapEnd
protected final int getGapEnd()
- Возвращает:
- конец промежутка
replace
protected void replace(int position, int rmSize, Object addItems, int addSize)
- Параметры:
-
position— место замены. Это не позиция в базовом массиве хранилища, а позиция в моделируемой непрерывной области. -
rmSize— количество удаляемых элементов -
addItems— новые элементы для размещения в хранилище. -
addSize— количество добавляемых элементов
© 1993, 2025, 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.