package leigh.elements.sdk;

/**
 * Define an elements column.
 *
 * @author Alex Leigh
 */
public interface ElementsColumnConfig {
    /**
     * Return the label associated with this column configuration. This is the value that should be displayed
     * to an end-user in a UI.
     *
     * @return The label.
     */
    String getLabel();

    /**
     * Return the name associated with this column configuration. This is the value that is used internally with the
     * data.
     *
     * @return The name.
     */
    String getName();

    int getColIndex();

    int getWidth();

    String getAlignment();

    boolean isReadOnly();
}
