package org.orienteer.core.component.table;
import com.orientechnologies.orient.core.metadata.schema.OClass;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.orienteer.core.CustomAttribute;
import org.orienteer.core.component.meta.AbstractMetaPanel;
import org.orienteer.core.component.meta.OClassMetaPanel;
import org.orienteer.core.component.property.DisplayMode;
import ru.ydn.wicket.wicketorientdb.model.SimpleNamingModel;
/**
* {@link AbstractModeMetaColumn} for {@link OClass}es
*/
public class OClassMetaColumn extends AbstractModeMetaColumn<OClass, DisplayMode, String, String>
{
public OClassMetaColumn(CustomAttribute custom, IModel<DisplayMode> modeModel)
{
this(custom.getName(), modeModel);
}
public OClassMetaColumn(String critery, IModel<DisplayMode> modeModel)
{
this(critery, critery, modeModel);
}
public OClassMetaColumn(String sortParam, String critery, IModel<DisplayMode> modeModel)
{
super(sortParam, Model.of(critery), modeModel);
}
@Override
protected <V> AbstractMetaPanel<OClass, String, V> newMetaPanel(
String componentId, IModel<String> criteryModel,
IModel<OClass> rowModel) {
return new OClassMetaPanel<V>(componentId, getModeModel(), rowModel, criteryModel);
}
@Override
protected IModel<String> newLabelModel() {
return new SimpleNamingModel<String>("class", getCriteryModel());
}
}