Package org.zkoss.zul

Class ListModelArray<E>

    • Field Detail

      • _array

        protected java.lang.Object[] _array
    • Constructor Detail

      • ListModelArray

        public ListModelArray​(E[] array,
                              boolean live)
        Constructor
        Parameters:
        array - the array to represent
        live - whether to have a 'live' ListModel on 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 this ListModelArray, the inner "live" array would be changed accordingly. However, it is not a good idea to modify array if it is passed to this method with live is true, since Listbox is 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 of ListDataEvent.CONTENTS_CHANGED.
        Parameters:
        element -
        Returns:
        true if the element exists
        Since:
        8.0.0
      • getSize

        public int getSize()
        Description copied from interface: ListModel
        Returns the length of the list.
        Specified by:
        getSize in interface ListModel<E>
      • getElementAt

        public E getElementAt​(int j)
        Description copied from interface: ListModel
        Returns the value at the specified index.
        Specified by:
        getElementAt in interface ListModel<E>
      • sort

        public void sort​(java.util.Comparator<E> cmpr,
                         boolean ascending)
        Sorts the data.
        Specified by:
        sort in interface Sortable<E>
        Parameters:
        cmpr - the comparator.
        ascending - whether to sort in the ascending order. It is ignored since this implementation uses cmpr to compare.
      • sort

        public void sort()
        Description copied from interface: Sortable
        Sort 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:
        sort in interface Sortable<E>
        See Also:
        Sortable.sort(Comparator, boolean)
      • getSortDirection

        public java.lang.String getSortDirection​(java.util.Comparator<E> cmpr)
        Description copied from interface: Sortable
        Returns the sort direction of this model for the given comparator. It must be one of "ascending", "descending" and "natural".

        Default: "natural".

        Specified by:
        getSortDirection in interface Sortable<E>
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object