Templates no eclipse

Alguém sabe de um plugin para construir templates do código eclipse. Basicamente eu queria algo mais sofisticado do que o “Code Style / Code templates” que já tem no eclipse.

Que tipo de template gostaria de fazer? Quem sabe exista algum plugin para o tipo específico que deseja.

quero gerar um esqueleto para toda classe DAO que eu criar. por exemplo, eu crio uma classe e o eclipse já cria o esqueleto como abaixo:
seria legal que ele deixasse eu informar uma variável, por exemplo ${nomeClasse} e %{pacote}.

package ${pacote};

public class ${nomeClasse}DAOOracle extends … implements
${nomeClasse}DAO {

protected Object obterObjeto(ResultSet rs) throws SQLException {
	return null;
}


public ${nomeClasse} obter${nomeClasse}(Long id${nomeClasse}) throws ... {



	Connection conn = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
	${nomeClasse} retorno = null;

	String sql = 
		"SELECT" 
			+ 	", " +
				" " 
		+ "FROM" 
			+ "	" 
		+ "WHERE" 
		+ "	";

	try {
		conn = this
				.createNewConnection(...);
		ps = conn.prepareStatement(sql);

		// parametros ps
		
		rs = ps.executeQuery();

	} catch (SQLException sqle) {

		LogManager.$aplicacaoLog_jdbc_sql.fatal(sqle);
		obterDetalhamentoDeSQLException(sqle);
	} finally {
		closeStatement(ps);
		closeConnection(conn);
		closeResultSet(rs);

	}



	return retorno;

}

}

Até entendo, mas porque não coloca toda a lógica de criação e execução da query na classe pai?
Ao me deparar com código que escrevo muitas vezes, antes tento descobrir porque o escrevo tanto antes de arranjar uma ferramenta para escrever para mim.

De qualquer forma, criei um template do Eclipse que gera essa classe de exemplo que deu:

[code]package ${pacote};

public class ${nomeClasse}DAOOracle extends BaseDAO implements ${nomeClasse}DAO {
protected Object obterObjeto(ResultSet rs) throws SQLException {
return null;
}
public ${nomeClasse} obter${nomeClasse}(Long id${nomeClasse}) throws {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
${nomeClasse} retorno = null;
String sql =
“SELECT”
+ “, " +
” "
+ “FROM”
+ " "
+ “WHERE”
+ " ";

	try {
		conn = this.createNewConnection();
		ps = conn.prepareStatement(sql);
		// parametros ps
		rs = ps.executeQuery();
	} catch (SQLException sqle) {
		LogManager.${aplicacaoLog_jdbc_sql}.fatal(sqle);
		obterDetalhamentoDeSQLException(sqle);
	} finally {
		closeStatement(ps);
		closeConnection(conn);
		closeResultSet(rs);
	}

	return retorno;
}

} [/code]
Ao inserir o template basta ir apertando “tab” para navegar entre as variáveis opcionais. Como ocorre no Eclipse, ao alterar a primeira variável “nomeClasse”, todas as outras do template também serão.

É que eu não tenho permissão para alterar a estrutura das classes.

Valeu Lipe! seu template resolveu o problema.