/**
* Essa superclasse controladora só pode ser utilizada para controlar visões que
* implementam a interface PainelTabela.
* @throws IllegalStateException se a visão não implementar a interface PainelTabela.
*/
public abstract class ControladorEdicaoPainelTabela extends ControladorTelaEdicaoPadrao {
public ControladorEdicaoPainelTabela(Window owner) throws IllegalStateException {
super(owner);
if (visao.getPainelTabela()==null)
throw new IllegalStateException("Essa classe controladora só pode controlar visões que " +
"implementam a interface PainelTabela.");
visao.getPainelTabela().setAdicionarListener(criarAdicionarListener());
visao.getPainelTabela().setExcluirListener(criarExcluirListener());
}
Uso de exceção não checada
R
Pessoal,
vejam se fiz um bom uso da exceção. Acho que nesse caso o ideal seria não checada mesmo.
1 Resposta
T
soh alguns detalhes: a parte do javadoc que fala da excecao deve estar no javadoc do metodo e nao da classe…
fora isso, achei estranho:
if (visao.getPainelTabela()==null)
throw new IllegalStateException("Essa classe controladora só pode controlar visões que " +
"implementam a interface PainelTabela.");
testar ou nao a implementacao de uma interface eh feita pelo operador instanceof quando vc sabe a classe em tempo de execucao (como eh o seu caso)…
Criado 24 de agosto de 2005
Ultima resposta 26 de mar. de 2006
Respostas 1
Participantes 2