No sólo existen templates para las estructuras de control, también hay para traza, declaración de métodos, inicialización de atributos, constantes, lazy y más. La pantalla donde gestionar los templates está en Window -> Preferences -> Java -> Editor -> Templates.
Ahora piensa en una línea de código que repitas en casi todas tus clases y para la que no haya un template en Eclipse. ¿Es ésta?
private static final Log logger = LogFactory.getLog(NombreClase.class);
Si es así, puedes crearte un template, llamémosle logger, con este simple código:
private static final ${loggerType:newType(org.apache.commons.logging.Log)} logger =
${logFactoryType:newType(org.apache.commons.logging.LogFactory)}
.getLog(${enclosing_type}.class);
Aquí te dejo otro para el típico debug (evitando procesar el posible mensaje):
if (logger.isDebugEnabled()) {
logger.debug(${msg});
}
Y tú, ¿usas alguno más que no vaya de serie?
Mi Logger es más bien éste:
${:import(org.loom.log.Log)}private static Log log = Log.getLog();
Crea el import y además inserta el atributo. El logger que yo uso no necesita que se le pase el nombre de clase (lo saca de manera similar a log5j), de resto es todo igual.
Unknown
14 de octubre de 2008, 15:18Hola Ignacio.
No conozco Loom, pero el template que he presentado te hace también los imports (Log y LogFactory) con newType. Lo del nombre de la clase es restricción del api de commons logging.
jcesarperez
14 de octubre de 2008, 16:03Pues yo metía el del logger que comentas y el identificador de serializable en los snippets, pero está claro que los templates es mejor lugar. Habrá que migrar.
juanignaciosl
15 de octubre de 2008, 7:49ammm por favor me podrias decir como se llama el template si no estoy mal deberia ser:
map.put(loggerType, milogger);
map.put(lgFactory, milogfactory);
map.put(enclosing_type, mienclosing_type);
o algo asi, por favor ayuda soy muy novato en el tema!
Anónimo
28 de noviembre de 2009, 14:27ammm por favor me podrias decir como se llama el template si no estoy mal deberia ser:
map.put(loggerType, milogger);
map.put(lgFactory, milogfactory);
map.put(enclosing_type, mienclosing_type);
o algo asi, por favor ayuda soy muy novato en el tema!
Anónimo
28 de noviembre de 2009, 14:28