package org.orienteer.core.component.table;
import com.google.common.base.Function;
import com.orientechnologies.orient.core.record.impl.ODocument;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
/**
* {@link AbstractColumn} displaying {@link ODocument}s string description, which provided by 'descriptor' function.
*/
public class ODocumentDescriptionColumn extends AbstractColumn<ODocument, String> {
private Function<ODocument, String> descriptor;
public ODocumentDescriptionColumn(IModel<String> headerModel, Function<ODocument, String> descriptor) {
super(headerModel);
this.descriptor = descriptor;
}
@Override
public void populateItem(Item<ICellPopulator<ODocument>> item, String componentId, IModel<ODocument> model) {
ODocument oDocument = model.getObject();
item.add(new Label(componentId, descriptor.apply(oDocument)));
}
}