Class ListModelArrayProxy<E>
- java.lang.Object
-
- org.zkoss.zul.AbstractListModel<E>
-
- org.zkoss.zul.ListModelArray<E>
-
- org.zkoss.bind.proxy.ListModelArrayProxy<E>
-
- All Implemented Interfaces:
java.io.Serializable
,javassist.util.proxy.Proxy
,FormProxyObject
,Pageable
,Selectable<E>
,Sortable<E>
,ListModel<E>
,PageableModel
public class ListModelArrayProxy<E> extends ListModelArray<E> implements javassist.util.proxy.Proxy, FormProxyObject, java.io.Serializable
A ListModelArray Proxy- Since:
- 9.6.0
- Author:
- jameschu
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.zkoss.zul.AbstractListModel
AbstractListModel.DefaultSelectionControl<E>
-
-
Field Summary
-
Fields inherited from class org.zkoss.zul.ListModelArray
_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 ListModelArrayProxy(ListModelArray<E> origin, java.lang.annotation.Annotation[] callerAnnots)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListDataListener(ListDataListener l)
Adds a listener to the list that's notified each time a change to the data model occurs.void
addPagingEventListener(PagingListener l)
Adds a listener to the list of listeners to be notified when a PagingEvent happens outside of standard Paging componentvoid
addSelection(E obj)
boolean
addToSelection(E obj)
Add the specified object into selection.void
cacheSavePropertyBinding(java.lang.String property, SavePropertyBinding s)
Cache save property binding by property stringvoid
clearSelection()
Change the selection to the empty set.java.lang.Object
clone()
java.util.Set<Pair<java.lang.String,SavePropertyBinding>>
collectCachedSavePropertyBinding()
Collect all of collect cached save property bindingsprotected <T> T
createProxyObject(T t)
boolean
equals(java.lang.Object o)
protected void
fireSelectionEvent(E e)
Selectable's implementor use only.E
get(int index)
Get the value of this ListModelArray at specified index.int
getActivePage()
Returns the active page (starting from 0).E
getElementAt(int j)
Returns the value at the specified index.java.lang.Object[]
getInnerArray()
Get the inner real Object[].ListModelArray<E>
getOriginObject()
Returns the origin object.int
getPageCount()
Returns the number of pages.int
getPageSize()
Returns the number of items per page.java.util.Set<E>
getSelection()
Returns the current selection.SelectionControl
getSelectionControl()
Returns the selection control for the selection model, if any.int
getSize()
Returns the length of the list.java.lang.String
getSortDirection(java.util.Comparator<E> cmpr)
Returns the sort direction of this model for the given comparator.int
hashCode()
int
indexOf(java.lang.Object elm)
Returns the index of the specified element.boolean
isFormDirty()
Returns whether the form proxy object is dirty or not, including all of its attributes.boolean
isSelected(java.lang.Object obj)
Returns whether an object is selected.boolean
isSelectionEmpty()
Returns true if the selection is currently empty.boolean
notifyChange(E element)
Notifies a change of the same element to trigger an event ofListDataEvent.CONTENTS_CHANGED
.void
onDataChange(java.lang.Object o)
void
onDirtyChange()
boolean
removeFromSelection(java.lang.Object obj)
Remove the specified object from selection.void
removeListDataListener(ListDataListener l)
Removes a listener from the list that's notified each time a change to the data model occurs.void
removePagingEventListener(PagingListener l)
Removes a listener from the list of listeners to be notified when a PagingEvent happens outside of standard Paging componentvoid
removeSelection(java.lang.Object obj)
void
resetFromOrigin()
Resets all of the changes of this form from the origin object.void
set(int index, E value)
Change content of the Array at specified index.void
setActivePage(int pg)
Sets the active page (starting from 0).protected void
setDirty(boolean d)
void
setFormOwner(java.lang.Object owner, FormBinding binding)
Sets the owner of this form with its binding.void
setHandler(javassist.util.proxy.MethodHandler mi)
void
setMultiple(boolean multiple)
Sets the selection mode to be multiple.void
setPageSize(int size)
Sets the number of items per page.void
setPath(java.lang.String property, ProxyNode parent)
Set the property of current form proxy object and it's creatorvoid
setSelection(java.util.Collection<? extends E> selection)
Replace the current selection with the given set.void
setSelectionControl(SelectionControl ctrl)
Sets the selection control for the selection modelvoid
sort()
Sort the data model by default or assigned comparator.void
sort(java.util.Comparator<E> cmpr, boolean ascending)
Sorts the data.void
submitToOrigin(BindContext ctx)
Saves all of the changes of this form to the origin object.protected static boolean
testEquals(java.lang.Object e, java.lang.Object o)
java.lang.String
toString()
-
Methods inherited from class org.zkoss.zul.AbstractListModel
fireEvent, getListDataListeners, getTotalSize, isMultiple, newEmptySelection, readSelection, removeAllSelection, retainAllSelection, writeSelection
-
-
-
-
Constructor Detail
-
ListModelArrayProxy
public ListModelArrayProxy(ListModelArray<E> origin, java.lang.annotation.Annotation[] callerAnnots)
-
-
Method Detail
-
onDirtyChange
public void onDirtyChange()
-
onDataChange
public void onDataChange(java.lang.Object o)
-
setDirty
protected void setDirty(boolean d)
-
addListDataListener
public void addListDataListener(ListDataListener l)
Description copied from class:AbstractListModel
Adds a listener to the list that's notified each time a change to the data model occurs.- Specified by:
addListDataListener
in interfaceListModel<E>
- Overrides:
addListDataListener
in classAbstractListModel<E>
-
removeListDataListener
public void removeListDataListener(ListDataListener l)
Description copied from class:AbstractListModel
Removes a listener from the list that's notified each time a change to the data model occurs.- Specified by:
removeListDataListener
in interfaceListModel<E>
- Overrides:
removeListDataListener
in classAbstractListModel<E>
-
getSelection
public java.util.Set<E> getSelection()
Description copied from class:AbstractListModel
Returns the current selection. It is readonly. Don't modify it directly- Specified by:
getSelection
in interfaceSelectable<E>
- Overrides:
getSelection
in classAbstractListModel<E>
- Returns:
- the current selection.
-
setSelection
public void setSelection(java.util.Collection<? extends E> selection)
Description copied from class:AbstractListModel
Replace the current selection with the given set.If this represents a change to the current selection then notify each ListDataListener, including UI.
- Specified by:
setSelection
in interfaceSelectable<E>
- Overrides:
setSelection
in classAbstractListModel<E>
-
isSelected
public boolean isSelected(java.lang.Object obj)
Description copied from class:AbstractListModel
Returns whether an object is selected.- Specified by:
isSelected
in interfaceSelectable<E>
- Overrides:
isSelected
in classAbstractListModel<E>
-
isSelectionEmpty
public boolean isSelectionEmpty()
Description copied from class:AbstractListModel
Returns true if the selection is currently empty.- Specified by:
isSelectionEmpty
in interfaceSelectable<E>
- Overrides:
isSelectionEmpty
in classAbstractListModel<E>
-
addToSelection
public boolean addToSelection(E obj)
Description copied from class:AbstractListModel
Add the specified object into selection.If this represents a change to the current selection then notify each ListDataListener, including UI.
- Specified by:
addToSelection
in interfaceSelectable<E>
- Overrides:
addToSelection
in classAbstractListModel<E>
- Parameters:
obj
- the object to be as selection.- Returns:
- true if it is added successfully; false if
obj
is not part of the data, or was already selected.
-
removeFromSelection
public boolean removeFromSelection(java.lang.Object obj)
Description copied from class:AbstractListModel
Remove the specified object from selection.If this represents a change to the current selection then notify each ListDataListener, including UI.
- Specified by:
removeFromSelection
in interfaceSelectable<E>
- Overrides:
removeFromSelection
in classAbstractListModel<E>
- Parameters:
obj
- the object to be remove from selection.- Returns:
- whether it is removed successfully
-
clearSelection
public void clearSelection()
Description copied from class:AbstractListModel
Change the selection to the empty set.If this represents a change to the current selection then notify each ListDataListener, including UI.
- Specified by:
clearSelection
in interfaceSelectable<E>
- Overrides:
clearSelection
in classAbstractListModel<E>
-
setMultiple
public void setMultiple(boolean multiple)
Description copied from class:AbstractListModel
Sets the selection mode to be multiple.- Specified by:
setMultiple
in interfaceSelectable<E>
- Overrides:
setMultiple
in classAbstractListModel<E>
-
getPageSize
public int getPageSize()
Description copied from interface:Pageable
Returns the number of items per page.Default: 20.
- Specified by:
getPageSize
in interfacePageable
- Overrides:
getPageSize
in classAbstractListModel<E>
-
setPageSize
public void setPageSize(int size) throws WrongValueException
Description copied from interface:Pageable
Sets the number of items per page.- Specified by:
setPageSize
in interfacePageable
- Overrides:
setPageSize
in classAbstractListModel<E>
- Throws:
WrongValueException
-
getPageCount
public int getPageCount()
Description copied from interface:Pageable
Returns the number of pages. Note: there is at least one page even no item at all.- Specified by:
getPageCount
in interfacePageable
- Overrides:
getPageCount
in classAbstractListModel<E>
-
getActivePage
public int getActivePage()
Description copied from interface:Pageable
Returns the active page (starting from 0).- Specified by:
getActivePage
in interfacePageable
- Overrides:
getActivePage
in classAbstractListModel<E>
-
setActivePage
public void setActivePage(int pg) throws WrongValueException
Description copied from interface:Pageable
Sets the active page (starting from 0).- Specified by:
setActivePage
in interfacePageable
- Overrides:
setActivePage
in classAbstractListModel<E>
- Throws:
WrongValueException
-
setSelectionControl
public void setSelectionControl(SelectionControl ctrl)
Description copied from interface:Selectable
Sets the selection control for the selection model- Specified by:
setSelectionControl
in interfaceSelectable<E>
- Overrides:
setSelectionControl
in classAbstractListModel<E>
-
getSelectionControl
public SelectionControl getSelectionControl()
Description copied from interface:Selectable
Returns the selection control for the selection model, if any.- Specified by:
getSelectionControl
in interfaceSelectable<E>
- Overrides:
getSelectionControl
in classAbstractListModel<E>
-
addPagingEventListener
public void addPagingEventListener(PagingListener l)
Description copied from interface:PageableModel
Adds a listener to the list of listeners to be notified when a PagingEvent happens outside of standard Paging component- Specified by:
addPagingEventListener
in interfacePageableModel
- Overrides:
addPagingEventListener
in classAbstractListModel<E>
-
removePagingEventListener
public void removePagingEventListener(PagingListener l)
Description copied from interface:PageableModel
Removes a listener from the list of listeners to be notified when a PagingEvent happens outside of standard Paging component- Specified by:
removePagingEventListener
in interfacePageableModel
- Overrides:
removePagingEventListener
in classAbstractListModel<E>
-
get
public E get(int index)
Description copied from class:ListModelArray
Get the value of this ListModelArray at specified index.- Overrides:
get
in classListModelArray<E>
- Parameters:
index
- the array index to be get value.
-
set
public void set(int index, E value)
Description copied from class:ListModelArray
Change content of the Array at specified index.- Overrides:
set
in classListModelArray<E>
- Parameters:
index
- the array index to be set the new value.
-
getInnerArray
public java.lang.Object[] getInnerArray()
Description copied from class:ListModelArray
Get the inner real Object[].- Overrides:
getInnerArray
in classListModelArray<E>
-
indexOf
public int indexOf(java.lang.Object elm)
Description copied from class:ListModelArray
Returns the index of the specified element.- Overrides:
indexOf
in classListModelArray<E>
-
notifyChange
public boolean notifyChange(E element)
Description copied from class:ListModelArray
Notifies a change of the same element to trigger an event ofListDataEvent.CONTENTS_CHANGED
.- Overrides:
notifyChange
in classListModelArray<E>
- Returns:
- true if the element exists
-
getSize
public int getSize()
Description copied from interface:ListModel
Returns the length of the list.
-
getElementAt
public E getElementAt(int j)
Description copied from interface:ListModel
Returns the value at the specified index.- Specified by:
getElementAt
in interfaceListModel<E>
- Overrides:
getElementAt
in classListModelArray<E>
-
sort
public void sort(java.util.Comparator<E> cmpr, boolean ascending)
Description copied from class:ListModelArray
Sorts the data.
-
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 interfaceSortable<E>
- Overrides:
sort
in classListModelArray<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 interfaceSortable<E>
- Overrides:
getSortDirection
in classListModelArray<E>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classListModelArray<E>
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classListModelArray<E>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classListModelArray<E>
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classListModelArray<E>
-
fireSelectionEvent
protected void fireSelectionEvent(E e)
Description copied from class:AbstractListModel
Selectable'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:
fireSelectionEvent
in classListModelArray<E>
- Parameters:
e
- selected object.
-
addSelection
public void addSelection(E obj)
-
removeSelection
public void removeSelection(java.lang.Object obj)
-
setHandler
public void setHandler(javassist.util.proxy.MethodHandler mi)
- Specified by:
setHandler
in interfacejavassist.util.proxy.Proxy
-
getOriginObject
public ListModelArray<E> getOriginObject()
Description copied from interface:FormProxyObject
Returns the origin object.- Specified by:
getOriginObject
in interfaceFormProxyObject
-
resetFromOrigin
public void resetFromOrigin()
Description copied from interface:FormProxyObject
Resets all of the changes of this form from the origin object.- Specified by:
resetFromOrigin
in interfaceFormProxyObject
-
submitToOrigin
public void submitToOrigin(BindContext ctx)
Description copied from interface:FormProxyObject
Saves all of the changes of this form to the origin object.- Specified by:
submitToOrigin
in interfaceFormProxyObject
-
isFormDirty
public boolean isFormDirty()
Description copied from interface:FormProxyObject
Returns whether the form proxy object is dirty or not, including all of its attributes.- Specified by:
isFormDirty
in interfaceFormProxyObject
-
setFormOwner
public void setFormOwner(java.lang.Object owner, FormBinding binding)
Description copied from interface:FormProxyObject
Sets the owner of this form with its binding.- Specified by:
setFormOwner
in interfaceFormProxyObject
- Parameters:
owner
- the object associated with this form.
-
setPath
public void setPath(java.lang.String property, ProxyNode parent)
Description copied from interface:FormProxyObject
Set the property of current form proxy object and it's creator- Specified by:
setPath
in interfaceFormProxyObject
- Parameters:
property
- p the propertyparent
- parent the parent proxy node
-
cacheSavePropertyBinding
public void cacheSavePropertyBinding(java.lang.String property, SavePropertyBinding s)
Description copied from interface:FormProxyObject
Cache save property binding by property string- Specified by:
cacheSavePropertyBinding
in interfaceFormProxyObject
- Parameters:
property
- the property of save property bindings
- the save property binding
-
collectCachedSavePropertyBinding
public java.util.Set<Pair<java.lang.String,SavePropertyBinding>> collectCachedSavePropertyBinding()
Description copied from interface:FormProxyObject
Collect all of collect cached save property bindings- Specified by:
collectCachedSavePropertyBinding
in interfaceFormProxyObject
-
testEquals
protected static boolean testEquals(java.lang.Object e, java.lang.Object o)
-
createProxyObject
protected <T> T createProxyObject(T t)
-
-