def getTableMetadata(self):
        coltypes = {}
        for (colname, column) in self.columns.iteritems():
            sortable = column.sortAttribute() is not None
            coltype = column.getType()
            if coltype is not None:
                coltype = unicode(coltype, 'ascii')
            coltypes[colname] = (coltype, sortable)
        if self.currentSortColumn:
            csc = unicode(self.currentSortColumn.sortAttribute().attrname, 'ascii')
        else:
            csc = None
        return [self.columnNames, coltypes, self.requestCurrentSize(),
                csc, self.isAscending]