Interface IRowGroup<T>
-
- Type Parameters:
T
- the type of the row objects.
- All Known Implementing Classes:
RowGroup
public interface IRowGroup<T>
Represents a collapseable group of rows (of type T) in theIRowGroupModel
.- Author:
- Stefan Bolton
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addMemberRow(T row)
Adds the row into the group.void
addMemberRows(List<T> rows)
Adds multiple rows into the group.void
addRowGroup(IRowGroup<T> rowGroup)
Adds a row-group into the group.void
addStaticMemberRow(T row)
Adds a static row into the group.void
clear()
Removes all member and static member rows from the group.void
collapse()
Updates the group's state to indicate it is collapsed.void
expand()
Updates the group's state to indicate it is expanded.Object
getData()
Allows some arbitrary data to be retrieved from an IRowGroup.Object
getData(String key)
Allows some arbitrary data to be retrieved from an IRowGroup.String
getGroupName()
List<T>
getMemberRows(boolean includeStaticRows)
List<T>
getOwnMemberRows(boolean includeStaticRows)
Returns only the rows contained with this group.List<T>
getOwnStaticMemberRows()
IRowGroup<T>
getParentGroup()
If this group is a nested child of another this will return the parent group.IRowGroup<T>
getRowGroupForRow(T row)
Retrieves the sub-group for a given row member.List<IRowGroup<T>>
getRowGroups()
List<T>
getStaticMemberRows()
boolean
isCollapseable()
boolean
isCollapsed()
boolean
isEmpty()
boolean
removeMemberRow(T row)
Removes the row from the group whether it's static or non-static.void
removeMemberRows(List<T> rows)
Removes multiple rows from the group whether they are static or non-static.boolean
removeRowGroup(IRowGroup<T> rowGroup)
Returns the row-group child of this group.void
setData(Object data)
Allows some arbitrary data to be tagged to an IRowGroup.void
setData(String key, Object data)
Allows some arbitrary data to be tagged to an IRowGroup.void
setParentGroup(IRowGroup<T> parentGroup)
Set the specified group as the parent of this group.
-
-
-
Method Detail
-
getGroupName
String getGroupName()
- Returns:
- A Unique name for the group - it must not conflict with any other group's name.
-
getParentGroup
IRowGroup<T> getParentGroup()
If this group is a nested child of another this will return the parent group.- Returns:
- The parent group if this group is a nested child.
-
setParentGroup
void setParentGroup(IRowGroup<T> parentGroup)
Set the specified group as the parent of this group.- Parameters:
parentGroup
-
-
isCollapsed
boolean isCollapsed()
- Returns:
- Whether the group has been expanded or collapsed. A collapsed group will hide all members of the group apart from any 'static' rows.
-
isCollapseable
boolean isCollapseable()
- Returns:
- Whether the group can be expanded or collapsed or, false if it should be locked in it's current state.
-
collapse
void collapse()
Updates the group's state to indicate it is collapsed.
A notification should be sent to any
IRowGroupModelListener
s to indicate a change in the model has occurred.
-
expand
void expand()
Updates the group's state to indicate it is expanded.
A notification should be sent to any
IRowGroupModelListener
s to indicate a change in the model has occurred.
-
addMemberRow
void addMemberRow(T row)
Adds the row into the group.
- Parameters:
row
- the row to be added
-
addMemberRows
void addMemberRows(List<T> rows)
Adds multiple rows into the group.
- Parameters:
rows
- AList
of rows T to be added.
-
addStaticMemberRow
void addStaticMemberRow(T row)
Adds a static row into the group. A static row is one that is always shown when the group is collapsed (summary data rows for example).
- Parameters:
row
- the static row T to be added.
-
removeMemberRow
boolean removeMemberRow(T row)
Removes the row from the group whether it's static or non-static.
Existing positions in the model may be bumped up if the row was not the last row in the model.
A notification should be sent to any
IRowGroupModelListener
s to indicate a change in the model has occurred.- Parameters:
row
- The row T to be removed.- Returns:
- true if the row existed and was removed.
-
removeMemberRows
void removeMemberRows(List<T> rows)
Removes multiple rows from the group whether they are static or non-static.
Existing positions in the model may be bumped up if the row was not the last row in the model.
A notification should be sent to any
IRowGroupModelListener
s to indicate a change in the model has occurred.- Parameters:
rows
- AList
of rows T to be added.
-
clear
void clear()
Removes all member and static member rows from the group.
-
isEmpty
boolean isEmpty()
- Returns:
true
if there are no rows (normal or static) in the group.
-
addRowGroup
void addRowGroup(IRowGroup<T> rowGroup)
Adds a row-group into the group. Calls to getMemberRows and getStaticMemberRows will recurse through nested groups and return a flattened list of rows in all contained groups.- Parameters:
rowGroup
- a IHierarchicalRowGroup.
-
removeRowGroup
boolean removeRowGroup(IRowGroup<T> rowGroup)
Returns the row-group child of this group.- Parameters:
rowGroup
- a IHierarchicalRowGroup.- Returns:
- true if the group existed as a child and was removed.
-
getRowGroups
List<IRowGroup<T>> getRowGroups()
- Returns:
- an unmodifiable
List
of the groups which are direct children of this group.
-
getOwnMemberRows
List<T> getOwnMemberRows(boolean includeStaticRows)
Returns only the rows contained with this group. Not nested groups.- Returns:
- a list of rows T.
-
getOwnStaticMemberRows
List<T> getOwnStaticMemberRows()
- Returns:
- Static rows only in this group not in nested groups.
-
getRowGroupForRow
IRowGroup<T> getRowGroupForRow(T row)
Retrieves the sub-group for a given row member.
-
setData
void setData(Object data)
Allows some arbitrary data to be tagged to an IRowGroup.- Parameters:
data
-
-
setData
void setData(String key, Object data)
Allows some arbitrary data to be tagged to an IRowGroup.- Parameters:
data
-
-
getData
Object getData()
Allows some arbitrary data to be retrieved from an IRowGroup.
-
-