Variáveis de Modelo

As variáveis de modelo podem ser usadas no padrão de modelo. As variáveis são processadas no valor concreto quando o modelo é avaliado no respectivo contexto. As variáveis podem ser especificadas usando uma sintaxe simples ou completa:

Se existirem várias correspondências possíveis para uma variável, podem ser apresentadas como propostas para o utilizador.

Variáveis Gerais de Modelo

O contexto Java e de Javadoc definem as seguintes variáveis:

Variável Descrição
${cursor} Especifica a posição do cursor quando é abandonado o modo de edição do modelo. Isto é útil quando o cursor deveria saltar para outro local que não seja o final do modelo ao abandonar o modo de edição do modelo.
${date} Avalia a data actual.
${dollar} Avalia o símbolo do dólar '$'. Em alternativa, podem ser utilizados dois símbolos do dólar: '$$'.
${enclosing_method} Avalia o nome do nome delimitador.
${enclosing_method_arguments} Avalia uma lista separada por vírgulas de nomes de argumentos do método delimitador. Esta variável pode ser útil quando gerar instruções de registo para muitos métodos.
${enclosing_package} Avalia o nome do pacote delimitador.
${enclosing_project} Avalia o nome do projecto delimitador.
${enclosing_type} Avalia o nome do tipo delimitador.
${file} Avalia o nome do ficheiro.
${line_selection} Avalia o conteúdo de todas as linhas seleccionadas actualmente.
${primary_type_name} Avalia o tipo principal de nome da unidade de compilação actual.
${return_type} Avalia o tipo de retorno do método delimitador.
${time} Avalia a hora actual.
${user} Avalia o nome de utilizador.
${word_selection} Avalia o conteúdo da selecção de texto actual.
${year} Avalia o ano actual.

Variáveis de Modelo Específicas de Java

O contexto Java define adicionalmente as seguintes variáveis. Nota: Na tabela abaixo, o id é um nome escolhido pelo utilizador de uma nova variável.

Variável Descrição
${id:field(type)} Avalia um campo no âmbito actual que é um subtipo do tipo indicado. Caso não seja especificado qualquer tipo, é feita a correspondência a qualquer campo que não seja primitivo.

Exemplo:
${count:field(int)}

${id:var(type)} Avalia um campo, variável local ou parâmetro visível no âmbito actual que é um subtipo do tipo indicado. Caso não seja especificado qualquer tipo, é feita a correspondência a qualquer variável que não seja primitiva.

Exemplo:
${array:var(java.lang.Object[])}

${id:localVar(type)} Avalia uma variável local ou parâmetro visível no âmbito actual que é um subtipo do tipo indicado. Se não for especificado qualquer tipo, é feita a correspondência a qualquer variável local que não seja primitiva.

${array} é um atalho para ${array:localVar(java.lang.Object[])}, mas também corresponde a matrizes de tipos primitivos.
${collection} é um atalho para ${collection:localVar(java.util.Collection)}.
${iterable} é um atalho para ${iterable:localVar(java.lang.Iterable)}, mas também corresponde a matrizes.

${id:argType(variable, n)} Avalia o argumento de tipo nth da variável de modelo referenciada. A referência deverá ser o nome de outra variável de modelo. Processa para java.lang.Object se não for possível encontrar a variável referenciada ou se não for um tipo parametrizado.

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

${id:elemType(variable)} Avalia o tipo de elemento da variável de modelo referenciada. A referência deve ser o nome de outra variável de modelo que processa para uma matriz ou para uma instância de java.lang.Iterable. O tipo de variável elemType é semelhante a ${id:argType(reference,0)}, diferenciando-se por também processar o tipo de elemento de uma matriz.

${array_type} é um atalho para${array_type:elemType(array)}.
${iterable_type} é um atalho para${iterable_type:elemType(iterable)}.

${id:newName(reference)} Avalia um nome que não entre em conflito para uma nova variável local do tipo especificado pela referência. A referência pode ser um tipo de nome Java ou o nome de outra variável de modelo. O nome criado respeita as definições de estilo de código.

${index} é um atalho para${index:newName(int)}.
${iterator} é um atalho para${iterator:newName(java.util.Iterator)}.
${array_element} é um atalho para ${array_element:newName(array)}.
${iterable_element} é um atalho para ${iterable_element:newName(iterable)}.

${array} Avalia uma proposta de matriz visível no âmbito actual.
${array_element} Avalia um nome de uma nova variável local de um elemento da correspondência da variável ${array}.
${array_type} Avalia o tipo de elemento da correspondência da variável ${array}.
${collection} Avalia uma proposta de uma recolha visível no âmbito actual.
${index} Avalia uma proposta para um índice de matriz não declarada.
${iterator} Avalia um nome que não é usado para uma nova variável local do tipo java.util.Iterator.
${iterable} Avalia uma proposta de um iterável ou de uma matriz visível no âmbito actual.
${iterable_element} Avalia um nome de uma nova variável local de um elemento da correspondência da variável ${iterable}.
${iterable_type} Avalia o tipo de elemento da correspondência da variável ${iterable}.
${todo} Avalia uma proposta de um identificador de tarefas predefinido especificado actualmente.

Conceitos relacionados

Modelos

Referência relacionada

Editar Modelos
Preferências de modelos
Assistência de Conteúdo Java
Preferências do identificador de tarefas
Preferências dos modelos de código
Preferências de estilo de código