Seeking useful Eclipse Java code templates [closed] Seeking useful Eclipse Java code templates [closed] java java

Seeking useful Eclipse Java code templates [closed]


The following code templates will both create a logger and create the right imports, if needed.

SLF4J

${:import(org.slf4j.Logger,org.slf4j.LoggerFactory)}private static final Logger LOG = LoggerFactory.getLogger(${enclosing_type}.class);

Log4J 2

${:import(org.apache.logging.log4j.LogManager,org.apache.logging.log4j.Logger)} private static final Logger LOG = LogManager.getLogger(${enclosing_type}.class); 

Log4J

${:import(org.apache.log4j.Logger)}private static final Logger LOG = Logger.getLogger(${enclosing_type}.class);

Source.

JUL

${:import(java.util.logging.Logger)}private static final Logger LOG = Logger.getLogger(${enclosing_type}.class.getName());


Some additional templates here: Link I -Link II

I like this one:

readfile

 ${:import(java.io.BufferedReader,             java.io.FileNotFoundException,             java.io.FileReader,             java.io.IOException)}   BufferedReader in = null;   try {      in = new BufferedReader(new FileReader(${fileName}));      String line;      while ((line = in.readLine()) != null) {         ${process}      }   }   catch (FileNotFoundException e) {      logger.error(e) ;   }   catch (IOException e) {      logger.error(e) ;   } finally {      if(in != null) in.close();   }   ${cursor} 

UPDATE: The Java 7 version of this template is:

${:import(java.nio.file.Files,          java.nio.file.Paths,          java.nio.charset.Charset,          java.io.IOException,          java.io.BufferedReader)}try (BufferedReader in = Files.newBufferedReader(Paths.get(${fileName:var(String)}),                                                 Charset.forName("UTF-8"))) {    String line = null;    while ((line = in.readLine()) != null) {        ${cursor}    }} catch (IOException e) {    // ${todo}: handle exception}


Format a string

MessageFormat - surround the selection with a MessageFormat.

 ${:import(java.text.MessageFormat)}  MessageFormat.format(${word_selection}, ${cursor})

This lets me move a cursor to a string, expand the selection to the entire string (Shift-Alt-Up), then Ctrl-Space twice.

Lock the selection

lock - surround the selected lines with a try finally lock. Assume the presence of a lock variable.

${lock}.acquire();try {    ${line_selection}    ${cursor}} finally {    ${lock}.release();}

NB ${line_selection} templates show up in the Surround With menu (Alt-Shift-Z).