@@ -0,0 +1,1827 @@
+package de.alpharogroup.swing.tablemodel;%0A%0Aimport java.util.List;%0A%0Aimport lombok.Getter;%0Aimport lombok.Setter;%0A%0A/**%0A * The abstract class %7B@link BaseTableModel%7D holds a %7B@link TableColumnsModel%7D%0A * for layout the columns.%0A *%0A * @param %3CT%3E%0A *            the generic type of the model%0A */%0Apublic abstract class BaseTableModel%3CT%3E extends GenericTableModel%3CT%3E %7B%0A%0A%09/** The Constant serialVersionUID. */%0A%09private static final long serialVersionUID = 1L;%0A%0A%09/** The columns model. */%0A%09@Getter%0A%09@Setter%0A%09private TableColumnsModel columnsModel;%0A%0A%09/**%0A%09 * Instantiates a new %7B@link BaseTableModel%7D.%0A%09 */%0A%09public BaseTableModel() %7B%0A%09%7D%0A%0A%09/**%0A%09 * Instantiates a new %7B@link BaseTableModel%7D.%0A%09 *%0A%09 * @param list%0A%09 *            the list%0A%09 */%0A%09public BaseTableModel(List%3CT%3E list) %7B%0A%09%09super(list);%0A%09%7D%0A%0A%09/**%0A%09 * Instantiates a new base table model.%0A%09 *%0A%09 * @param columnsModel%0A%09 *            the columns model%0A%09 */%0A%09public BaseTableModel(TableColumnsModel columnsModel) %7B%0A%09%09this.columnsModel = columnsModel;%0A%09%7D%0A%0A%09/**%0A%09 * %7B@inheritDoc%7D%0A%09 */%0A%09@Override%0A%09public Class%3C?%3E getColumnClass(final int c) %7B%0A%09%09try %7B%0A%09%09%09return columnsModel.getColumnClasses()%5Bc%5D;%0A%09%09%7D catch (Exception e) %7B%0A%09%09%09// ignore and return null...%0A%09%09%09return null;%0A%09%09%7D%0A%09%7D%0A%0A%09/**%0A%09 * %7B@inheritDoc%7D%0A%09 */%0A%09@Override%0A%09public int getColumnCount() %7B%0A%09%09return columnsModel.getColumnNames().length;%0A%09%7D%0A%0A%09/**%0A%09 * %7B@inheritDoc%7D%0A%09 */%0A%09@Override%0A%09public String getColumnName(final int col) %7B%0A%09%09try %7B%0A%09%09%09return columnsModel.getColumnNames()%5Bcol%5D;%0A%09%09%7D catch (Exception e) %7B%0A%09%09%09// ignore and return null...%0A%09%09%09return null;%0A%09%09%7D%0A%09%7D%0A%0A%09/**%0A%09 * %7B@inheritDoc%7D%0A%09 */%0A%09@Override%0A%09public boolean isCellEditable(final int rowIndex, final int columnIndex) %7B%0A%09%09try %7B%0A%09%09%09return columnsModel.getCanEdit()%5BcolumnIndex%5D;%0A%09%09%7D catch (Exception e) %7B%0A%09%09%09// ignore and return the default value...%0A%09%09%09return false;%0A%09%09%7D%0A%09%7D%0A%0A%7D%0A

Create BaseTableModel.java