Obsah

Šikovné šablony pro Eclipse

Výbornou funkcí Eclipse IDE jsou šablony – templates. Několik jich je nadefinováno, ale hlavní síla je v tom, že se uživatel může definovat svoje. Používají se jednoduše, například šablonu System.out.println(…); vyvoláte napsáním syso a stiskem Ctrl+Space. Vlastní šablony pak můžete definovat v Preferences (dejte do vyhledávacího pole „templates“ abyste našli správné podokno s nastavením). Několik příkladů:

Logger SLF4J

Ve většině projektů loguji pomocí knihovny SLF4J. Tato šablona vloží nutný kód do každé třídy

Co vytvoří:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
final Logger logger = LoggerFactory.getLogger(MyClass.class);

Šablona:

final Logger logger = LoggerFactory.getLogger(${enclosing_type}.class);
${imp:import(org.slf4j.Logger,org.slf4j.LoggerFactory)}
${cursor}

Pokud používáte starší verzi Eclipse, která neumí proměnnou imp:import, můžete šablonu nadefinovat takto: final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(${enclosing_type}.class);. U příštího Optimize imports se importy vloží na správné místo.

Check argument

Šablona pro otestování, zda argument funkce není null. Vytvoří:

if (param == null) {
  throw new IllegalArgumentException("Method com.pike.x.y.MyClass.myMethod does not expect null parameter");
}
 
// pro více parametrů
if (param1, param2 == null) {
  throw new IllegalArgumentException("Method com.pike.x.y.MyClass.myMethod does not expect null parameter");
}

Nevýhodou je, že pro více parametrů je nutné poeditovat if-výraz. Pořád ale ušetřím spoustu času psaním „throw new“ řádku, protože tato podmínka je nesmírně důležitá. Šablona je:

if (${enclosing_method_arguments} == null) {
	throw new IllegalArgumentException("Method ${enclosing_package}.${enclosing_type}.${enclosing_method} does not expect null parameter");
}
${cursor}

To je prozatím vše. Doporučuji projít si předdefinované šablony (for, foreach, …) – je jich mnoho.