package org.orienteer.core.component.widget.oclass;
import java.util.Collection;
import org.apache.wicket.model.IModel;
import org.orienteer.core.component.widget.AbstractSchemaCustomPropertiesWidget;
import org.orienteer.core.widget.Widget;
import ru.ydn.wicket.wicketorientdb.model.OClassCustomModel;
import com.orientechnologies.orient.core.metadata.schema.OClass;
import com.orientechnologies.orient.core.record.impl.ODocument;
/**
* Widget to show custom properties of an {@link OClass}
*/
@Widget(id="class-custom", domain="class", tab="configuration", order=30, autoEnable=true)
public class OClassCustomPropertiesWidget extends AbstractSchemaCustomPropertiesWidget<OClass> {
public OClassCustomPropertiesWidget(String id, IModel<OClass> model,
IModel<ODocument> widgetDocumentModel) {
super(id, model, widgetDocumentModel);
}
@Override
protected Collection<String> getOriginalCustomKeys() {
return getModelObject().getCustomKeys();
}
@Override
protected void addCustom(String key, String value) {
getModelObject().setCustom(key, value);
}
@Override
protected IModel<String> createCustomModel(
IModel<OClass> schemaObjectModel, IModel<String> customPropertyModel) {
return new OClassCustomModel(schemaObjectModel, customPropertyModel);
}
}