Manipulador de um campo

Você pode definir um manipulador para um campo de um formulário.

Esse manipulador é definida como scripts em BeanShell e será executada imediatamente antes que o valor de um campo renderizado for editado.

O script de manipulação de um campo pode acessar os dados do próprio campo apenas. No script o valor do campo será acessado como um variável com o nome do campo ou com o nome padrão "value".

Abaixo um exemplo de um script de manipulação, que formata o valor, de um campo do tipo String com o nome "cpf":

try {		
  String pattern = "###.###.###-##";
  javax.swing.text.MaskFormatter mask = new javax.swing.text.MaskFormatter(pattern);
  mask.setValueContainsLiteralCharacters(false);
  cpf = mask.valueToString(cpf);
} catch (Exception e) {
  //nothing here
}

O script de manipulação serve basicamente pra manipular o valor do campo e esse valor pode ser manipulado atribuindo-se um novo valor para uma variável com o nome do campo (como no exemplo acima) ou através do retorno do próprio script.

Usando propriedades específicas de alguns campos

Alguns campos do formulário possuem propriedades específicas e elas podem ser acessadas no script de manipulação. Esses campos são:

CampoDescrição

Organization

Representa uma unidade de organização no diretório do Blazon, que pode ser de um dos tipos: ORGANIZATION, DEPARTMENT ou COST_CENTER

User

Representa um usuário do diretório do Blazon.

List

Representa uma lista de valores com seus respectivos rótulos.

Username

Representa um nome de usuário no Blazon.

Cada um desses campos apresenta propriedades específicas, são elas:

Propriedades do campo Organization

PropriedadeDescrição

name

Contém o nome da organização selecionada no campo.

type

Contém o tipo da organização selecionada no campo.

identifier

Contém o identificador da organização selecionada no campo.

Propriedades do campo User

PropriedadeDescrição

displayName

Contém o nome de apresentação do usuário do Blazon selecionado no campo.

username

Contém o nome de usuário do usuário do Blazon selecionado no campo.

identifier

Contém o identificador do usuário do Blazon selecionada no campo.

Propriedades do campo List

PropriedadeDescrição

label

Contém o rótulo do item da lista selecionado no campo.

value

Contém o valor do item da lista selecionado no campo.

Propriedades do campo Username

PropriedadeDescrição

username

Contém o nome de usuário selecionado no campo.

value

Contém o nome de usuário selecionado no campo.

Exemplo de um script de manipulação usando propriedade específica

Como definido acima, o campo do tipo "Organization" contem 3 propriedades específicas: name, type e identifier.

Abaixo um exemplo de como um script de manipulação pode usar uma dessas propriedades:

if (organization.type != null && organization.name != null) {
 	return organization.name.toLowerCase() + "_" + organization.type.toLowerCase(); 
}

Serviços disponíveis para um script de manipulação de campo

Os scripts de manipulação de campo possuem à disposição 3 serviços que permitem acesso às informações do diretório do Blazon para efetivação de algumas manipulações.

Esses serviços são os mesmos serviços disponíveis para os scripts de manipulação do formulário e estão documentados na página:

pageServiços disponíveis num manipulador de um formulário