|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.zkoss.zul.AbstractGroupsModel<D,java.lang.Object,F>
org.zkoss.zul.SimpleGroupsModel<D,H,F>
public class SimpleGroupsModel<D,H,F>
A simple implementation of GroupsModel.
This implementation assumes the data is grouped, and the grouping structure
is immutable.
If you allow the user to re-group the content, use GroupsModelArray
instead.
For more information, please refer to ZK Developer's Reference: Groups Model
GroupsModel,
GroupsModelArray| Field Summary | |
|---|---|
protected boolean[] |
_closes
memeber field to store group close status |
protected D[][] |
_data
member field to store group data |
protected F[] |
_foots
member field to store group foot data |
protected H[] |
_heads
member field to store group head data |
| Constructor Summary | |
|---|---|
SimpleGroupsModel(D[][] data)
Constructs a groups data model with a two-dimensional array of data. |
|
SimpleGroupsModel(D[][] data,
H[] heads)
Constructor When using this constructor , getGroup(int) will return the corresponding Object depends on heads. |
|
SimpleGroupsModel(D[][] data,
H[] heads,
F[] foots)
Constructor When using this constructor , getGroup(int) will return the corresponding Object depends on heads. |
|
SimpleGroupsModel(D[][] data,
H[] heads,
F[] foots,
boolean[] closes)
Constructor When using this constructor , getGroup(int) will return the corresponding Object depends on heads. |
|
| Method Summary | |
|---|---|
D |
getChild(int groupIndex,
int index)
Returns the child value of the specified group at the specified index. |
int |
getChildCount(int groupIndex)
Returns the number of children of the specified group. |
java.lang.Object |
getGroup(int groupIndex)
Returns the data representing the group. |
int |
getGroupCount()
Returns the number of groups. |
F |
getGroupfoot(int groupIndex)
Returns the foot value of the specified group, or null if the specified group does not have any foot. |
void |
group(java.util.Comparator<D> cmpr,
boolean ascending,
int colIndex)
Do nothing in default implementation, however developer can override it to re-group by manipulating _data,_heads,_foots |
boolean |
hasGroupfoot(int groupIndex)
Returns if the specified group has a foot value. |
boolean |
isClose(int groupIndex)
Whether the group is close at the specified index. |
void |
setClose(int groupIndex,
boolean close)
Sets whether the group is close at the specified index. |
void |
sort(java.util.Comparator<D> cmpr,
boolean ascending,
int colIndex)
Sort each data in each group by Comparator, developer could override sortGroupData(Object, Object[], Comparator, boolean, int)
to customize. |
protected void |
sortGroupData(java.lang.Object group,
D[] groupdata,
java.util.Comparator<D> cmpr,
boolean ascending,
int colIndex)
Sorts a group of data. |
| Methods inherited from class org.zkoss.zul.AbstractGroupsModel |
|---|
addGroupsDataListener, fireEvent, removeGroupsDataListener |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected D[][] _data
protected H[] _heads
protected F[] _foots
protected boolean[] _closes
| Constructor Detail |
|---|
public SimpleGroupsModel(D[][] data)
This constructor assumes there is no group foot at all.
data - a two-dimensional array to represent groups data,
where data[0] is the array of element of the first group,
data[1] is of the second group and so on.
public SimpleGroupsModel(D[][] data,
H[] heads)
getGroup(int) will return the corresponding Object depends on heads.
hasGroupfoot(int) will always return false
data - a 2 dimension array to represent groups dataheads - an array to represent head data of group
public SimpleGroupsModel(D[][] data,
H[] heads,
F[] foots)
getGroup(int) will return the corresponding Object depends on heads.
The return value of hasGroupfoot(int) and getGroupfoot(int)
are depends on foots.
data - a 2 dimension array to represent groups dataheads - an array to represent head data of groupfoots - an array to represent foot data of group, if an element in this array is null, then
hasGroupfoot(int) will return false in corresponding index.
public SimpleGroupsModel(D[][] data,
H[] heads,
F[] foots,
boolean[] closes)
getGroup(int) will return the corresponding Object depends on heads.
The return value of hasGroupfoot(int) and getGroupfoot(int)
are depends on foots.
data - a 2 dimension array to represent groups dataheads - an array to represent head data of groupfoots - an array to represent foot data of group, if an element in this array is null, then
hasGroupfoot(int) will return false in corresponding index.closes - an array of boolean to represent close status of group. If not specified, then
isClose(int) will return false in corresponding index(i.e. group is default to open)| Method Detail |
|---|
public D getChild(int groupIndex,
int index)
GroupsModel
getChild in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.index - the index of the element in the group.public int getChildCount(int groupIndex)
GroupsModelNote: it does not include the groot foot (GroupsModel.getGroupfoot(int)).
getChildCount in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.public java.lang.Object getGroup(int groupIndex)
getGroup in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.public int getGroupCount()
GroupsModel
getGroupCount in interface GroupsModel<D,java.lang.Object,F>public F getGroupfoot(int groupIndex)
GroupsModelGroupfoot and Listgroupfoot.
Note: it is ignored if GroupsModel.hasGroupfoot(int) returns false.
getGroupfoot in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.public boolean hasGroupfoot(int groupIndex)
GroupsModel
hasGroupfoot in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.public boolean isClose(int groupIndex)
GroupsModelGroup and Listgroup.
isClose in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.
public void setClose(int groupIndex,
boolean close)
GroupsModelGroup and Listgroup.
setClose in interface GroupsModel<D,java.lang.Object,F>groupIndex - the index of the group.close - true to close the Group.
public void group(java.util.Comparator<D> cmpr,
boolean ascending,
int colIndex)
_data,_heads,_foots
group in interface GroupsModelExt<D>cmpr - the comparator assigned to Column.setSortAscending(java.util.Comparator>)
and other relative methods. If developers didn't assign any one,
the method is returned directly.ascending - whether to sort in the ascending order (or in
the descending order)colIndex - the index of the column
public void sort(java.util.Comparator<D> cmpr,
boolean ascending,
int colIndex)
sortGroupData(Object, Object[], Comparator, boolean, int)
to customize.
sort in interface GroupsModelExt<D>cmpr - the comparator assigned to Listheader.setSortAscending(java.util.Comparator)
and other relative methods. If developers didn't assign any one,
the default comparator is used.
Notice that it is capable to sort the data in the correct order,
you could ignore the ascending parameter.ascending - whether to sort in the ascending order (or in
the descending order, if false). Notice that it is used only to
provide additional information. To sort the data correctly, you could
count on the cmpr parameter only.colIndex - the index of the column
protected void sortGroupData(java.lang.Object group,
D[] groupdata,
java.util.Comparator<D> cmpr,
boolean ascending,
int colIndex)
Default: Arrays.sort(groupdata, cmpr)
group - the group (the same as getGroup(int))groupdata - the group of data to sort
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||