package org.orienteer.core.widget;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.io.IClusterable;
import com.orientechnologies.orient.core.metadata.schema.OClass;
import com.orientechnologies.orient.core.record.impl.ODocument;
/**
* Interface for classes which represent some widget descriptor
*
* @param <T> the type of main data
*/
public interface IWidgetType<T> extends IClusterable {
public String getId();
public String getDomain();
public String getTab();
public String getOClassName();
public int getOrder();
public boolean isAutoEnable();
public String getSelector();
public Class<? extends AbstractWidget<T>> getWidgetClass();
public AbstractWidget<T> instanciate(String componentId, IModel<T> model, ODocument widgetDocument);
}