Class ListModelArray<E>
- java.lang.Object
-
- org.zkoss.zul.AbstractListModel<E>
-
- org.zkoss.zul.ListModelArray<E>
-
- All Implemented Interfaces:
java.io.Serializable,Pageable,Selectable<E>,Sortable<E>,ListModel<E>,PageableModel
public class ListModelArray<E> extends AbstractListModel<E> implements Sortable<E>, java.io.Serializable
This is the
ListModelas an Object array to be used withListbox. Change the contents of this model as an Object array would cause the associated Listbox to change accordingly.The class implements the
Selectableinterface, updating the selection status after sorted. (since 6.0.0)- 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.lang.Object[]_array-
Fields inherited from class org.zkoss.zul.AbstractListModel
_selection
-
Fields inherited from interface org.zkoss.zul.PageableModel
INTERNAL_EVENT
-
-
Constructor Summary
Constructors Constructor Description ListModelArray(int size)Constructor.ListModelArray(E[] array)Constructor.ListModelArray(E[] array, boolean live)ConstructorListModelArray(java.util.List<? extends E> list)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()booleanequals(java.lang.Object o)protected voidfireSelectionEvent(E e)Selectable's implementor use only.Eget(int index)Get the value of this ListModelArray at specified index.EgetElementAt(int j)Returns the value at the specified index.java.lang.Object[]getInnerArray()Get the inner real Object[].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 elm)Returns the index of the specified element.booleannotifyChange(E element)Notifies a change of the same element to trigger an event ofListDataEvent.CONTENTS_CHANGED.voidset(int index, E value)Change content of the Array at specified index.voidsort()Sort the data model by default or assigned comparator.voidsort(java.util.Comparator<E> cmpr, boolean ascending)Sorts the data.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
-
-
-
-
Constructor Detail
-
ListModelArray
public ListModelArray(E[] array, boolean live)
Constructor- Parameters:
array- the array to representlive- whether to have a 'live'ListModelon top of the specified array. If false, the content of the specified array is copied. If true, this object is a 'facade' of the specified array, i.e., when you add or remove items from thisListModelArray, the inner "live" array would be changed accordingly. However, it is not a good idea to modifyarrayif 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
-
ListModelArray
public ListModelArray(E[] array)
Constructor. It makes a copy of the specified array (i.e., not live).Notice that if the data is static or not shared, it is better to use
ListModelArray(array, true)instead, since making a copy is slower.
-
ListModelArray
public ListModelArray(int size)
Constructor.- Parameters:
size- the array size.
-
ListModelArray
public ListModelArray(java.util.List<? extends E> list)
Constructor. It mades a copy of the specified list (i.e., not live).- Since:
- 2.4.1
-
-
Method Detail
-
get
public E get(int index)
Get the value of this ListModelArray at specified index.- Parameters:
index- the array index to be get value.
-
set
public void set(int index, E value)Change content of the Array at specified index.- Parameters:
index- the array index to be set the new value.
-
getInnerArray
public java.lang.Object[] getInnerArray()
Get the inner real Object[].- Since:
- 2.4.0
-
indexOf
public int indexOf(java.lang.Object elm)
Returns the index of the specified element.
-
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
-
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>
-
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>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
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.
-
-