package Common.Visual.Tables;
import Common.CommonConstants;
public abstract class ColumnInfo<D> {
    private String Name = "?";
    private boolean visible = true;
    private boolean editable = false;
    public ColumnInfo(String name_in) {
        setName(name_in);
    }
    public abstract Object getFieldAt(D object);
    public String getName() {
        return Name;
    }
    public void setName(String name_in) {
        Name = name_in;
    }
    public boolean isVisible() {
        return visible;
    }
    public void setVisible(boolean visible_in) {
        this.visible = visible_in;
    }
    public boolean isEditable() {
        return getEditorClass() != null;
    }
    public Class getRendererClass() {
        return null;
    }
    public Class getEditorClass() {
        return null;
    }
    public boolean hasRenderer() {
        return getRendererClass() != null;
    }
    public boolean hasEditor() {
        return getEditorClass() != null;
    }
    public int getMaxWidth() {
        return CommonConstants.Nan;
    }
    public boolean hasMaxWidth() {
        return getMaxWidth() != CommonConstants.Nan;
    }
    //-
    public int getMinWidth() {
        return CommonConstants.Nan;
    }
    public boolean hasMinWidth() {
        return getMinWidth() != CommonConstants.Nan;
    }
}
