Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элемента спискаpublic abstract static class ListChangeListener.Change<E> extends java.lang.Object
next()
метод. Каждое изменение должно быть одним из следующего: wasPermutated()
возвращает true в этом случае. Перестановка произошла в диапазоне между from
(включительно) и to
(монопольный) и может быть запрошен, вызывая getPermutation(int)
метод. wasAdded()
, wasRemoved()
возвращает true. Если оба метода возвращают true, wasReplaced()
также возвратит true. getRemoved()
метод возвращает список элементов, которые были заменены или удалены из списка.
Диапазон между from
(включительно) и to
(монопольный) обозначает подсписок списка, которые содержат новые элементы. Отметьте, что это - полуоткрытый интервал, так, если никакие элементы не были добавлены, getFrom()
равно getTo()
.
Возможно получить список добавленных элементов, вызывая getAddedSubList ().
Отметьте, что, чтобы поддержать корректный, индексирует отдельного, добавляют/удаляют изменения, эти изменения должны быть сортированы их from
индексировать.
wasUpdated()
возвратите true на изменении обновления. Все элементы между from
(включительно) и to
(монопольный) были обновлены. Типичное использование должно наблюдать изменения относительно ObservableList, чтобы сцепить или отцепить (или добавить или удалить слушателя), или чтобы поддержать некоторый инвариант на каждом элементе в том ObservableList. Общая кодовая комбинация для того, чтобы сделать это смотрит что-то как следующее:
ObservableList- theList = ...; theList.addListener(new ListChangeListener<Item>() { public void onChanged(Change<tem> c) { while (c.next()) { if (c.wasPermutated()) { for (int i = c.getFrom(); i < c.getTo(); ++i) { //permutate } } else if (c.wasUpdated()) { //update item } else { for (Item remitem : c.getRemoved()) { remitem.remove(Outer.this); } for (Item additem : c.getAddedSubList()) { additem.add(Outer.this); } } } } }); }
Предупреждение: Этот class непосредственно получает доступ к исходному списку, чтобы получить информацию об изменениях.
Это эффективно делает объект Изменения недопустимым, когда другое изменение происходит в списке.
По этой причине не безопасно использовать этот class на различном потоке.
Отметьте: в случае, если изменение содержит многократные изменения различного типа, эти изменения должны быть в следующем порядке: изменение (я) перестановки, добавляют или удаляют изменения, обновляют изменения, которые Это - то, потому что изменения перестановки не могут пойти, после добавляют/удаляют изменения, поскольку они изменили бы позицию добавленных элементов. И с другой стороны, изменения обновления должны пойти, после добавляют/удаляют изменения, потому что они относятся с их, индексирует к текущему состоянию списка, что означает со всеми, добавляют/удаляют примененные изменения.
Конструктор и Описание |
---|
ListChangeListener.Change(ObservableList<E> list)
Создает новое изменение, сделанное к списку.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
getAddedSize()
Размер интервала, который был добавлен.
|
java.util.List<E> |
getAddedSubList()
Чтобы получить представление подсписка списка, который содержит только добавленные элементы, используйте getAddedSubList () метод.
|
abstract int |
getFrom()
Если wasAdded является истиной, интервал содержит все значения, которые были добавлены.
|
ObservableList<E> |
getList()
Исходный список изменения.
|
protected abstract int[] |
getPermutation()
Если это изменение является перестановкой, оно возвращает целочисленный массив, который описывает перестановку.
|
int |
getPermutation(int i)
Вызывая их метод, можно наблюдать перестановку, которая произошла.
|
abstract java.util.List<E> |
getRemoved()
Неизменный список удалил/заменил элементы.
|
int |
getRemovedSize()
Размер getRemoved () список.
|
abstract int |
getTo()
Конец интервала изменения.
|
abstract boolean |
next()
Пойдите в следующее изменение.
|
abstract void |
reset()
Сброс к начальной стадии.
|
boolean |
wasAdded()
Указывает, были ли элементы добавлены во время этого изменения
|
boolean |
wasPermutated()
Указывает, было ли изменение только перестановкой.
|
boolean |
wasRemoved()
Указывает, были ли элементы удалены во время этого изменения.
|
boolean |
wasReplaced()
Указывает, были ли элементы заменены во время этого изменения.
|
boolean |
wasUpdated()
Указывает, что элементы между getFrom () (включительно) к getTo () монопольный изменились.
|
public ListChangeListener.Change(ObservableList<E> list)
list
- это было измененоpublic abstract boolean next()
public abstract void reset()
public ObservableList<E> getList()
public abstract int getFrom()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic abstract int getTo()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииgetFrom()
public abstract java.util.List<E> getRemoved()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic boolean wasPermutated()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic boolean wasAdded()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic boolean wasRemoved()
wasReplaced()
.java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic boolean wasReplaced()
Обычно, не необходимо использовать этот метод непосредственно. Обработка удаляет работу и затем добавляет работу, как в примере above
, эффективно обработает также операцию присвоения.
as wasAdded() && wasRemoved()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic boolean wasUpdated()
public java.util.List<E> getAddedSubList()
c.getList().subList(c.getFrom(), c.getTo());
for (Node n : change.getAddedSubList()) {
// do something
}
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic int getRemovedSize()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic int getAddedSize()
java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииprotected abstract int[] getPermutation()
getFrom()
из списка. То же самое касается последнего индексируют и getTo()
. Метод используется wasPermutated()
и getPermutation(int)
методы.java.lang.IllegalStateException
- если это Изменение находится в начальном состоянииpublic int getPermutation(int i)
change.getPermutation(oldIndex);Отметьте: реализация по умолчанию этого метода берет информацию от
getPermutation()
метод. Вы не должны переопределить этот метод.i
- старые индексируют, который содержал элемент до этого измененияjava.lang.IndexOutOfBoundsException
- если я испытываю недостаток границ спискаjava.lang.IllegalStateException
- если это не изменение перестановкиCopyright (c) 2008, 2013, Oracle и/или его филиалы. Все права защищены. Использование подвергается