Proměnné šablony editoru Java

Proměnné šablony lze použít ve vzoru šablony. Proměnné se vyřeší na své konkrétní hodnoty, když se šablona vyhodnotí ve svém kontextu. Proměnné lze zadat pomocí jednoduché nebo úplné syntaxe:

Existuje-li pro proměnnou více možných shod, mohou se uživateli nabídnout jako návrhy.

Obecné proměnné šablony

Kontext prostředí Java i kontext dokumentace Javadoc definují následující proměnné:

Proměnná Popis
${cursor} Určuje pozici kurzoru při opuštění režimu úprav šablony. To je užitečné v případě, že při opuštění režimu úprav šablony by měl kurzor přeskočit do jiné pozice než na konec šablony.
${date} Vyhodnocuje se na aktuální datum.
${dollar} Vyhodnocuje se na symbol dolaru $. Jako další možnost lze použít dva znaky dolaru: $$.
${enclosing_method} Vyhodnocuje se na název zapouzdřující metody.
${enclosing_method_arguments} Vyhodnocuje se na seznam názvů argumentů zapouzdřující metody navzájem oddělených čárkami. Tato proměnná se může hodit při generování výpisů z protokolu pro mnoho metod.
${enclosing_package} Vyhodnocuje se na název zapouzdřujícího balíku.
${enclosing_project} Vyhodnocuje se na název zapouzdřujícího projektu.
${enclosing_type} Vyhodnocuje se na název zapouzdřujícího typu.
${file} Vyhodnocuje se na název souboru.
${line_selection} Vyhodnocuje se na obsah všech aktuálně vybraných řádků.
${primary_type_name} Vyhodnocuje se na název primárního typu aktuální kompilační jednotky.
${return_type} Vyhodnocuje se na návratový typ zapouzdřující metody.
${time} Vyhodnocuje se na aktuální čas.
${user} Vyhodnocuje se na jméno uživatele.
${word_selection} Vyhodnocuje se na obsah aktuálního textového výběru.
${year} Vyhodnocuje se na aktuální rok.

Proměnné šablony specifické pro jazyk Java

Kontext prostředí Java navíc definuje následující proměnné. Poznámka: V následující tabulce je id uživatelem zvolený název nové proměnné.

Proměnná Popis
${id:field(typ[,typ]*)} Vyhodnocuje se na pole v aktuálním rozsahu, které je podtypem nějakého z daných typů. Pokud není zadán žádný typ, neshodují se žádná neprimitivní pole.

Příklad:
${count:field(int)}

${id:var(typ[,typ]*)} Vyhodnocuje se na pole, lokální proměnnou nebo parametr, které jsou viditelné v aktuálním rozsahu a které jsou podtypem nějakého z daných typů. Pokud není zadán žádný typ, neshodují se žádné neprimitivní proměnné.

Příklad:
${container:var(java.util.List, 'java.lang.Object[]')}

${id:localVar(typ[,typ]*)} Vyhodnocuje se na lokální proměnnou nebo parametr, které jsou viditelné v aktuálním rozsahu a které jsou podtypem nějakého daného typu. Pokud není zadán žádný typ, neshodují se žádné neprimitivní lokální proměnné.

${array} je zkratka pro ${array:localVar('java.lang.Object[]')}, ale shoduje se i s poli primitivních typů.
${collection} je zkratka pro ${collection:localVar(java.util.Collection)}.
${iterable} je zkratka pro ${iterable:localVar(java.lang.Iterable)}, ale shoduje se i s poli.

${id:argType(proměnná, n)} Vyhodnocuje se na ntý argument typu odkazované proměnné šablony. Odkaz by měl být názvem jiné proměnné šablony. Vyřeší se na java.lang.Object, pokud odkazovaná proměnná nebyla nalezena nebo není parametrizovaným typem.

Příklad:
${type:argType(vector, 0)} ${first:name(type)} = ${vector:var(java.util.Vector)}.get(0)

${id:elemType(variable)} Vyhodnocuje se na typ prvku odkazované proměnné šablony. Odkazem by měl být název jiné proměnné šablony, která se vyřeší na pole nebo na instanci java.lang.Iterable. Proměnná elemType je podobná ${id:argType(odkaz,0)} s tím rozdílem, že vyřeší také typ prvku pole.

${array_type} je zkratka pro ${array_type:elemType(array)}.
${iterable_type} je zkratka pro ${iterable_type:elemType(iterable)}.

${id:newName(reference)} Vyhodnocuje se na nekonfliktní název pro novou lokální proměnnou s typem určeným odkazem. Odkaz může být buď název typu Java, nebo název jiné proměnné šablony. Generovaný název respektuje nastavení stylu kódu.

${index} je zkratka pro ${index:newName(int)}.
${iterator} je zkratka pro ${iterator:newName(java.util.Iterator)}.
${array_element} je zkratka pro ${array_element:newName(array)}.
${iterable_element} je zkratka pro ${iterable_element:newName(iterable)}.

${id:newType(qualifiedTypeName)} Vyhodnocuje se na název typu s úplným názvem typu jazyka Java. Vyhodnocuje se na jednoduchý název typu a import, pokud neexistuje žádný typ s konfliktem. Jinak se vyhodnocuje na úplný název typu.

Příklad:
${type:newType(java.util.Iterator)}

${:import(typ[,typ]*)} Pro každý typ přidává příkaz importu. Pokud již import existuje, neprovede nic. V případě existence konfliktního importu neprovede nic. Nevyhodnocuje se na nic.

Příklad:
${:import(java.util.List, java.util.Collection)}

${:importStatic([qualifiedName[,qualifiedName]*])} Přidá příkaz statického importu pro každý kvalifikovaný název, který již není naimportován. qualifiedName je úplný název statického pole nebo metody, případně se jedná o úplný název typu a příponu .* uzavřené v jednoduchých uvozovkách ''. V případě existence konfliktního importu neprovede nic. Nevyhodnocuje se na nic.

Příklad:
${is:importStatic(java.util.Collections.EMPTY_SET, 'java.lang.System.*')}

${id:link(návrh[,návrh]*)} Vyhodnocuje se na id, pokud je seznam návrhů prázdný. Jinak se vyhodnocuje na první návrh. Vyhodnocená hodnota je dána do propojeného režimu. Okno návrhů zobrazuje všechny dané návrhy.

Příklad:
java.util.Collections.${kind:link(EMPTY_SET, EMPTY_LIST, EMPTY_MAP)}

${array} Vyhodnocuje se na návrh pole viditelného v aktuálním rozsahu.
${array_element} Vyhodnocuje se na název nové lokální proměnné pro prvek shody s proměnnou ${array}.
${array_type} Vyhodnocuje se na typ prvku shody s proměnnou ${array}.
${collection} Vyhodnocuje se na návrh kolekce viditelné v aktuálním rozsahu.
${exception_variable_name} Název proměnné výjimky v zachytávacích blocích.
${index} Vyhodnocuje se na návrh nedeklarovaného indexu pole.
${iterator} Vyhodnocuje se na nepoužitý název pro novou lokální proměnnou typu java.util.Iterator.
${iterable} Vyhodnocuje se na návrh iterovatelného prvku nebo pole viditelného v aktuálním rozsahu.
${iterable_element} Vyhodnocuje se na název nové lokální proměnné pro prvek shody s proměnnou ${iterable}.
${iterable_type} Vyhodnocuje se na typ prvku shody s proměnnou ${iterable}.
${todo} Vyhodnocuje se na návrh pro aktuálně uvedenou výchozí značku úloh.

Související koncepce

Šablony

Související odkazy

Úprava šablon
Stránka předvoleb šablon
Obsahová asistence Java
Předvolby značky úlohy
Předvolby šablon kódů
Předvolby stylu kódu