Class LambdaColumn<T,S>
- java.lang.Object
-
- org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn<T,S>
-
- org.apache.wicket.extensions.markup.html.repeater.data.table.LambdaColumn<T,S>
-
- Type Parameters:
T
- The Model object typeS
- the type of the sort property
- All Implemented Interfaces:
Serializable
,ICellPopulator<T>
,IExportableColumn<T,S>
,IColumn<T,S>
,IStyledColumn<T,S>
,IDetachable
,IClusterable
public class LambdaColumn<T,S> extends AbstractColumn<T,S> implements IExportableColumn<T,S>
An implementation of column that adds a label to the cell whose model is determined by the providedSerializableFunction
that is evaluated against the current row's model objectExample for a table of
Contact
s:columns[0] = new LambdaColumn(new Model<String>("First Name"), Contact::getFirstName);
The above will attach a label to the cell which calls#getFirstName()
for each displayed contact.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LambdaColumn(IModel<String> displayModel, org.danekja.java.util.function.serializable.SerializableFunction<T,?> function)
Creates a column that is not sortable.LambdaColumn(IModel<String> displayModel, S sortProperty, org.danekja.java.util.function.serializable.SerializableFunction<T,?> function)
Creates a property column that is also sortable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IModel<?>
getDataModel(IModel<T> rowModel)
Factory method for generating a model that will generated the displayed value.void
populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel)
Method used to populate a cell in theDataGridView
Implementation MUST add a component to the cellItem using the component id provided by componentId argument, otherwise a WicketRuntimeException will be thrown-
Methods inherited from class org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn
detach, getCssClass, getDisplayModel, getHeader, getSortProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn
getHeader, getHeaderColspan, getHeaderRowspan, getSortProperty, isSortable
-
Methods inherited from interface org.apache.wicket.model.IDetachable
detach
-
Methods inherited from interface org.apache.wicket.extensions.markup.html.repeater.data.table.export.IExportableColumn
getDisplayModel
-
-
-
-
Constructor Detail
-
LambdaColumn
public LambdaColumn(IModel<String> displayModel, org.danekja.java.util.function.serializable.SerializableFunction<T,?> function)
Creates a column that is not sortable.- Parameters:
displayModel
- display modelfunction
- Wicket function to be applied to each row
-
LambdaColumn
public LambdaColumn(IModel<String> displayModel, S sortProperty, org.danekja.java.util.function.serializable.SerializableFunction<T,?> function)
Creates a property column that is also sortable.- Parameters:
displayModel
- display modelsortProperty
- sort propertyfunction
- Wicket function to be applied to each row
-
-
Method Detail
-
populateItem
public void populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel)
Description copied from interface:ICellPopulator
Method used to populate a cell in theDataGridView
Implementation MUST add a component to the cellItem using the component id provided by componentId argument, otherwise a WicketRuntimeException will be thrown- Specified by:
populateItem
in interfaceICellPopulator<T>
- Parameters:
item
- the item representing the current table cell being renderedcomponentId
- the id of the component used to render the cell (only one component should be added to the cell)rowModel
- the model of the row item being rendered. this model usually contains the model provided by the data provider.- See Also:
Item
-
getDataModel
public IModel<?> getDataModel(IModel<T> rowModel)
Factory method for generating a model that will generated the displayed value.- Specified by:
getDataModel
in interfaceIExportableColumn<T,S>
- Parameters:
rowModel
-- Returns:
- model
-
-