{@inheritDoc}

@see #getColumnClass(HistoryReferencesTableModel.Column)
@see #getCustomColumnClass(int)
552549
@Override
    public final Class<?> getColumnClass(int columnIndex) {
        Column column = getColumn(columnIndex);
        if (column == Column.CUSTOM) {
            return getCustomColumnClass(columnIndex);
        }
        return getColumnClass(column);
    }
143557
public void setColumnClassName(final String columnClassName) throws ClassNotFoundException {
		if (columnClassName.equals("byte[]")) {
			setColumnClass(Object.class);
		} else {
			setColumnClass(Class.forName(columnClassName));
		}
		this.columnClassName = columnClassName;
	}
12041
public Long getLong(String column) {
		Number n = getNumber(column);
		return n != null ? n.longValue() : null;
	}
943802
@Override
	public TableMetadata.Column getColumn(final String camelColumnName) {
		return this.columns.stream().filter(c -> c.getCamelColumnName().equals(camelColumnName)).findFirst()
				.orElseThrow(() -> new UroborosqlRuntimeException("No such column found. col=" + camelColumnName));
	}
504847
public int getMappedColumn(final int renderCol) {
        if (columnMapping == null || renderCol == -1) {
            return renderCol;
        }
        else {
            final Integer result = columnMapping.get(renderCol);
            if (result == null) {
                throw new IllegalArgumentException("Invalid index " + renderCol);
            }
            return result;
        }
    }
1203400
public double[] getColumn(int column) {
        checkIndices(0, column);
        rowReadLock.lock();
        double[] values = new double[rows.get()];
        for (int row = 0; row < rows.get(); ++row)
            values[row] = get(row, column);
        rowReadLock.unlock();
        return values;
    }
97824
protected Column getColumn(String name) {
		for (Column column : getColumns()) {
			if (column.getColumnName().equals(name)) {
				return column;
			}
		}
		return null;
	}
203672
@Override
    @Nullable
    public Constant getConstant(int column) throws OntopResultConversionException {
        final MainTypeLangValues cell = row.get(column - 1);
        if (cell.getMainValue() == null) {
            return null;
        } else {
            return constantRetriever.getConstantFromJDBC(cell);
        }
    }
337298
@Override
	public Object getObject(final int columnIndex) throws SQLException {
		String columnLabel = getWrapped().getMetaData().getColumnLabel(columnIndex);

		return getObject(columnLabel);
	}
575157
public String getColumnName(final int column) throws SQLException {
    String columnName = getColumnInformation(column).getOriginalName();
    if (returnTableAlias) {
      columnName = getColumnInformation(column).getName(); //for old mysql compatibility
    }

    if ("".equals(columnName)) {
      // odd things that are no columns, e.g count(*)
      columnName = getColumnLabel(column);
    }
    return columnName;
  }
372747
public ColumnVector getColumn(int c) throws MatrixException
    {
        if ((c < 0) || (c >= nCols)) {
            throw new MatrixException(MatrixException.INVALID_INDEX);
        }

        ColumnVector cv = new ColumnVector(nRows);
        for (int r = 0; r < nRows; ++r) {
            cv.values[r][0] = this.values[r][c];
        }

        return cv;
    }
936816
public String getColumnClassName(int column) throws SQLException
    {
        sourceResultSet.checkColumnBounds(column);
        VoltType type = sourceResultSet.table.getColumnType(column - 1);
        String result = type.getJdbcClass();
        if (result == null) {
            throw SQLError.get(SQLError.TRANSLATION_NOT_FOUND, type);
        }
        return result;
    }
750591
@Override
    public String getColumnName(int column) {
		try {
			java.util.List<String> signature = results.getSignature();
			if (signature != null && column < signature.size()) {
				return results.getSignature().get(column);
			} else {
				return "";
			}
		} catch (Exception e) {
			e.printStackTrace();
			return "ERROR";
		}
	}
820572
public JKTableColumn getTableColumn(final int col, final boolean visibleIndex) {
		int actualIndex;
		if (visibleIndex) {
			actualIndex = this.visibilityManager.getActualIndexFromVisibleIndex(col);
		} else {
			actualIndex = col;
		}
		return this.tableColumns.get(actualIndex);
	}
214848
protected String[] getColumnClasses(PanelGrid panelGrid, int[] colSpans) {
		String columnsCSV = panelGrid.getColumnClasses();
		String[] columnClasses;

		if (null == columnsCSV || columnsCSV.trim().length()==0)
			columnClasses = null;
		else {
			columnClasses = columnsCSV.split(",");
			if (columnClasses.length > colSpans.length) {
				throw new FacesException("PanelGrid: You defined more columnClasses than columns or colSpans");
			}
		}

		String size = panelGrid.getSize();
		if (null == size || size.trim().equals("")) {
			size = "lg";
		} else {
			size = Responsive.translateSize(size, true);
		}
		

		String[] result = new String[colSpans.length];

		for (int i = 0; i < colSpans.length; i++) {
			if (columnClasses == null) {
				result[i] = "col-" + size + "-" + colSpans[i];
			} else {
				String current = columnClasses[i % columnClasses.length];
				if (current.contains("col-")) {
					result[i] = current;
				} else {
					result[i] = "col-" + size + "-" + colSpans[i] + " " + current;
				}

			}
		}
		return result;
	}
1075388
public static List<Field> getColumnsForSelect(Class<?> clazz, boolean selectOnlyKey) {
		if(clazz == null) {
			throw new NoColumnAnnotationException("class is null");
		}
		
		List<Field> result = _getFieldsForSelect(clazz, selectOnlyKey);
		if (result.isEmpty()) {
			throw new NoColumnAnnotationException("class " + clazz.getName()
					+ " does not have any @Column fields");
		}
		
		return result;
	}
1348667
public void getColumnHeading(TableCandidate tc) {
    	int headings  = tc.getHeadingLineNumber();
    	String[][] cells = tc.getCells();
    	String columnHeadings = "";
    	for (int i=0; i<=headings; i++) {
    		int j = cells[i].length;
    		for (int k=0; k<j; k++) {
    			cells[i][k] =  tc.replaceAllSpecialChracters(cells[i][k]);
    			columnHeadings = columnHeadings + cells[i][k] + "; ";
    		}
    		columnHeadings = columnHeadings + "\n";
    	}
    	tc.setColumnHeadings(columnHeadings);
    }