Package org.zkoss.zul
Class ListModelSet<E>
- java.lang.Object
-
- org.zkoss.zul.AbstractListModel<E>
-
- org.zkoss.zul.ListModelSet<E>
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Iterable<E>,java.util.Collection<E>,java.util.Set<E>,Pageable,Selectable<E>,Sortable<E>,ListModel<E>,PageableModel
public class ListModelSet<E> extends AbstractListModel<E> implements Sortable<E>, java.util.Set<E>, java.io.Serializable
This is the
ListModelas aSetto be used withListbox. Add or remove the contents of this model as a Set would cause the associated Listbox to change accordingly.- Author:
- Henri Chen
- See Also:
ListModel,ListModelList,ListModelMap, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.zkoss.zul.AbstractListModel
AbstractListModel.DefaultSelectionControl<E>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Set<E>_set-
Fields inherited from class org.zkoss.zul.AbstractListModel
_selection
-
Fields inherited from interface org.zkoss.zul.PageableModel
INTERNAL_EVENT
-
-
Constructor Summary
Constructors Constructor Description ListModelSet()Constructor.ListModelSet(int initialCapacity)Constructor.ListModelSet(int initialCapacity, float loadFactor)Constructor.ListModelSet(E[] array)Constructor.ListModelSet(java.util.Collection<? extends E> c)Constructor.ListModelSet(java.util.Set<E> set, boolean live)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(E o)This implementation optimized on the LinkedHashSet(which guarantees the sequence of the added item).booleanaddAll(java.util.Collection<? extends E> c)This implementation optimized on the LinkedHashSet(which guarantees the sequence of the added item).voidclear()java.lang.Objectclone()booleancontains(java.lang.Object elem)booleancontainsAll(java.util.Collection<?> c)booleanequals(java.lang.Object o)protected voidfireSelectionEvent(E e)Selectable's implementor use only.EgetElementAt(int j)Returns the value at the specified index.java.util.Set<E>getInnerSet()Get the inner real set.intgetSize()Returns the length of the list.java.lang.StringgetSortDirection(java.util.Comparator<E> cmpr)Returns the sort direction of this model for the given comparator.inthashCode()intindexOf(java.lang.Object o)Returns the index of the specified object, or -1 if not found.booleanisEmpty()java.util.Iterator<E>iterator()booleannotifyChange(E element)Notifies a change of the same element to trigger an event ofListDataEvent.CONTENTS_CHANGED.booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> c)booleanretainAll(java.util.Collection<?> c)intsize()voidsort()Sort the data model by default or assigned comparator.voidsort(java.util.Comparator<E> cmpr, boolean ascending)Sorts the data.java.lang.Object[]toArray()<T> T[]toArray(T[] a)java.lang.StringtoString()-
Methods inherited from class org.zkoss.zul.AbstractListModel
addListDataListener, addPagingEventListener, addToSelection, clearSelection, fireEvent, getActivePage, getListDataListeners, getPageCount, getPageSize, getSelection, getSelectionControl, getTotalSize, isMultiple, isSelected, isSelectionEmpty, newEmptySelection, readSelection, removeAllSelection, removeFromSelection, removeListDataListener, removePagingEventListener, retainAllSelection, setActivePage, setMultiple, setPageSize, setSelection, setSelectionControl, writeSelection
-
-
-
-
Field Detail
-
_set
protected java.util.Set<E> _set
-
-
Constructor Detail
-
ListModelSet
public ListModelSet(java.util.Set<E> set, boolean live)
Constructor- Parameters:
set- the set to representlive- whether to have a 'live'ListModelon top of the specified set. If false, the content of the specified set is copied. If true, this object is a 'facade' of the specified set, i.e., when you add or remove items from thisListModelSet, the inner "live" set would be changed accordingly. However, it is not a good idea to modifysetif it is passed to this method with live is true, sinceListboxis not smart enough to handle it. Instead, modify it thru this object.- Since:
- 2.4.0
-
ListModelSet
public ListModelSet()
Constructor.
-
ListModelSet
public ListModelSet(java.util.Collection<? extends E> c)
Constructor. It makes a copy of the specified collection (i.e., not live).Notice that if the data is static or not shared, it is better to use
ListModelSet(set, true)instead, since making a copy is slower.
-
ListModelSet
public ListModelSet(E[] array)
Constructor. It makes a copy of the specified array (i.e., not live).- Since:
- 2.4.1
-
ListModelSet
public ListModelSet(int initialCapacity)
Constructor.- Parameters:
initialCapacity- the initial capacity for this ListModelSet.
-
ListModelSet
public ListModelSet(int initialCapacity, float loadFactor)Constructor.- Parameters:
initialCapacity- the initial capacity for this ListModelMap.loadFactor- the loadFactor to increase capacity of this ListModelMap.
-
-
Method Detail
-
getInnerSet
public java.util.Set<E> getInnerSet()
Get the inner real set.
-
getSize
public int getSize()
Description copied from interface:ListModelReturns the length of the list.
-
getElementAt
public E getElementAt(int j)
Description copied from interface:ListModelReturns the value at the specified index.- Specified by:
getElementAtin interfaceListModel<E>
-
notifyChange
public boolean notifyChange(E element)
Notifies a change of the same element to trigger an event ofListDataEvent.CONTENTS_CHANGED.- Parameters:
element-- Returns:
- true if the element exists
- Since:
- 8.0.0
-
add
public boolean add(E o)
This implementation optimized on the LinkedHashSet(which guarantees the sequence of the added item). Other implementation needs one more linear search.
-
addAll
public boolean addAll(java.util.Collection<? extends E> c)
This implementation optimized on the LinkedHashSet(which guarantees the sequence of the added item). Other implementation needs one more linear search.
-
clear
public void clear()
-
contains
public boolean contains(java.lang.Object elem)
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
-
equals
public boolean equals(java.lang.Object o)
-
hashCode
public int hashCode()
-
isEmpty
public boolean isEmpty()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
iterator
public java.util.Iterator<E> iterator()
-
remove
public boolean remove(java.lang.Object o)
-
indexOf
public int indexOf(java.lang.Object o)
Returns the index of the specified object, or -1 if not found.
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
-
size
public int size()
-
toArray
public java.lang.Object[] toArray()
-
toArray
public <T> T[] toArray(T[] a)
-
sort
public void sort(java.util.Comparator<E> cmpr, boolean ascending)
Sorts the data.
-
sort
public void sort()
Description copied from interface:SortableSort the data model by default or assigned comparator. Notice that the default implementation does nothing, the model which implements Sortable need to implement this method.- Specified by:
sortin interfaceSortable<E>- See Also:
Sortable.sort(Comparator, boolean)
-
getSortDirection
public java.lang.String getSortDirection(java.util.Comparator<E> cmpr)
Description copied from interface:SortableReturns the sort direction of this model for the given comparator. It must be one of "ascending", "descending" and "natural".Default: "natural".
- Specified by:
getSortDirectionin interfaceSortable<E>
-
clone
public java.lang.Object clone()
- Overrides:
clonein classAbstractListModel<E>
-
fireSelectionEvent
protected void fireSelectionEvent(E e)
Description copied from class:AbstractListModelSelectable's implementor use only.Fires a selection event for component to scroll into view. The override subclass must put the index0 of
AbstractListModel.fireEvent(int, int, int)as the view index to scroll. By default, the value -1 is assumed which means no scroll into view.The method is invoked when both methods are invoked.
AbstractListModel.addToSelection(Object)andAbstractListModel.setSelection(Collection).- Overrides:
fireSelectionEventin classAbstractListModel<E>- Parameters:
e- selected object.
-
-