org.zkoss.zul.impl
Class ListboxDataLoader

java.lang.Object
  extended by org.zkoss.zul.impl.ListboxDataLoader
All Implemented Interfaces:
Cropper, DataLoader
Direct Known Subclasses:
LiveListboxDataLoader

public class ListboxDataLoader
extends java.lang.Object
implements DataLoader, Cropper

Generic Listbox data loader.

Since:
5.0.0
Author:
henrichen

Constructor Summary
ListboxDataLoader()
           
 
Method Summary
 void doListDataChange(ListDataEvent event)
          Handle event when ListDataEvent is fired from owner component.
 java.util.Set<? extends Component> getAvailableAtClient()
          Retrieves the children available at client.
protected  java.util.Set<? extends Component> getAvailableAtClient(boolean itemOnly)
          Retrieves the children available at client with more control.
protected  java.util.Set<? extends Component> getAvailableAtClient(int offset, int limit, boolean itemOnly)
          Retrieves the children available at the client within the given range.
 Component getCropOwner()
          Returns the owner of the cropping scope.
 int getLimit()
          Returns the required visible limit size of the current loaded data chunk to be shown on the screen.
 int getOffset()
          Returns the requested visible offset of the current loaded data chunk.
 Component getOwner()
          Returns the associated owner component of this DataLoader.
 java.lang.Object getRealRenderer()
          Return the renderer to do rendering.
 int getTotalSize()
          Returns the total size of the data.
 void init(Component owner, int offset, int limit)
          Callback from the owner component and give a chance to initialize things.
protected  boolean inPagingMold()
           
protected  boolean inSelectMold()
           
 boolean isCropper()
          Returns whether it is a cropper, i.e., cropping is applied.
protected  Listitem newUnloadedItem(ListitemRenderer renderer, int index)
          Creates an new and unloaded listitem.
 void reset()
          Callback from the owner component and give a chance to reset things.
 void setLoadAll(boolean b)
          Sets whether to always load all items from ListModel.
 void syncModel(int offset, int limit)
          Synchronizes the owner component to be consistent with the specified model.
 void updateModelInfo()
          Used to update some extra control information to the client.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListboxDataLoader

public ListboxDataLoader()
Method Detail

init

public void init(Component owner,
                 int offset,
                 int limit)
Description copied from interface: DataLoader
Callback from the owner component and give a chance to initialize things.

Specified by:
init in interface DataLoader
Parameters:
owner - the owner component of this DataLoader.

reset

public void reset()
Description copied from interface: DataLoader
Callback from the owner component and give a chance to reset things.

Specified by:
reset in interface DataLoader

getOwner

public final Component getOwner()
Description copied from interface: DataLoader
Returns the associated owner component of this DataLoader.

Specified by:
getOwner in interface DataLoader

getOffset

public int getOffset()
Description copied from interface: DataLoader
Returns the requested visible offset of the current loaded data chunk.

Specified by:
getOffset in interface DataLoader
Returns:
the requested visible offset of the current loaded data chunk.

getLimit

public int getLimit()
Description copied from interface: DataLoader
Returns the required visible limit size of the current loaded data chunk to be shown on the screen.

Specified by:
getLimit in interface DataLoader
Returns:
the required visible limit size of the current loaded data chunk to be shown on the screen.

getTotalSize

public int getTotalSize()
Description copied from interface: DataLoader
Returns the total size of the data.

Specified by:
getTotalSize in interface DataLoader
Returns:
the total size of the data.

doListDataChange

public void doListDataChange(ListDataEvent event)
Description copied from interface: DataLoader
Handle event when ListDataEvent is fired from owner component.

Specified by:
doListDataChange in interface DataLoader

newUnloadedItem

protected final Listitem newUnloadedItem(ListitemRenderer renderer,
                                         int index)
Creates an new and unloaded listitem.


getRealRenderer

public java.lang.Object getRealRenderer()
Description copied from interface: DataLoader
Return the renderer to do rendering.

Specified by:
getRealRenderer in interface DataLoader

syncModel

public void syncModel(int offset,
                      int limit)
Description copied from interface: DataLoader
Synchronizes the owner component to be consistent with the specified model.

Specified by:
syncModel in interface DataLoader
Parameters:
offset - the starting index of the range to do data synchronize.
limit - the size of the range to do data synchronize. -1 means the current range.

inPagingMold

protected boolean inPagingMold()

inSelectMold

protected boolean inSelectMold()

updateModelInfo

public void updateModelInfo()
Description copied from interface: DataLoader
Used to update some extra control information to the client.

Specified by:
updateModelInfo in interface DataLoader

setLoadAll

public void setLoadAll(boolean b)
Description copied from interface: DataLoader
Sets whether to always load all items from ListModel.

Specified by:
setLoadAll in interface DataLoader

isCropper

public boolean isCropper()
Description copied from interface: Cropper
Returns whether it is a cropper, i.e., cropping is applied.

Note: this method is called when an child is detached, so you have to count one more for the total number of children. Example <= must be used, not <:
getChildCount() <= getPageSize()

The result of returning false is the same as not declaring with Cropper.

Specified by:
isCropper in interface Cropper

getAvailableAtClient

public final java.util.Set<? extends Component> getAvailableAtClient()
Retrieves the children available at client.

It can not be overridden. Rather, override getAvailableAtClient(boolean) instead.

Specified by:
getAvailableAtClient in interface Cropper

getAvailableAtClient

protected java.util.Set<? extends Component> getAvailableAtClient(boolean itemOnly)
Retrieves the children available at client with more control.

Derived class shall override this method rather than getAvailableAtClient().

Parameters:
itemOnly - whether to return only Listitem and derives.
Since:
5.0.10

getAvailableAtClient

protected java.util.Set<? extends Component> getAvailableAtClient(int offset,
                                                                  int limit,
                                                                  boolean itemOnly)
Retrieves the children available at the client within the given range.

Parameters:
itemOnly - whether to return only Listitem and derives.
Since:
5.0.10

getCropOwner

public Component getCropOwner()
Description copied from interface: Cropper
Returns the owner of the cropping scope. In most cases, Cropper.getAvailableAtClient() returns only the available direct children of this component, and this method returns this component. It is so-called a single-level cropping, such as listbox and tree.

If you want to implement multi-level cropping, such as tree, you can consider the whole tree as a cropping scope. And, Cropper.getAvailableAtClient() returns all available items, not just the child of this component. In additions, this method returns the tree.

Specified by:
getCropOwner in interface Cropper


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo