Classe com parâmetro (genéricos)

Considerem o “linhas” dessa classe. É uma lista de objetos T, que serão informados pela subclasse.

public abstract class TableModelPadrao<T extends Persistente> extends AbstractTableModel { protected String[] colunas; protected List<T> linhas; public TableModelPadrao() { setColunas(criarColunas()); setLinhas(criarLinhas()); } protected abstract String[] criarColunas(); protected abstract List<T> criarLinhas(); .... public List<T> getLinhas() { return linhas; } public void setLinhas(List<T> linhas) { this.linhas = linhas; } }
Essa subclasse informa a classe dos objetos da lista. Será Orcamento. Orcamento possui os métodos getData e getValorTotal. Está dando erro na tentativa de executar o método getData e getValorTotal. O erro é: “The method getData() is undefined for the type Object”. Pelo visto, o linhas.get() não está retornando um objeto do tipo Orcamento.
O que eu devo fazer para resolver isso?

public class TableModelOrcamento<Orcamento> extends TableModelPadrao { public Object getValueAt(int rowIndex, int columnIndex) { switch (columnIndex) { case 0: return linhas.get(rowIndex).getData(); case 1: return linhas.get(rowIndex).getValorTotal(); default: return null; } } .... }

Os métodos getDate e getValorTotal estão declarados na class Persistente, certo?

Não encontrei nenhum erro, era pra funcionar.

Já tentou um System.out.println( linhas.get( rowIndex ).getClass() )?

Não, eles são declarados na classe orcamento. Mas mesmo os declarados na classe persistente, como getId(), não são disponiveis.
Mas acho que isso que tentei fazer não é possível não. Acho que usei de maneira incorreta o recurso de genéricos.