Objetivo


Esse documento tem como objetivo mostrar o que precisa ser feito para a criação de um novo evento de tecla que acionará uma macro-operação.

Conceitos


Máquina de Estados

A máquina de estados é um modelo de comportamento composto de um número finito de Estados. É utilizada para definir a forma como o componente deve se comportar, tendo como base o estado atual do mesmo.

Macro-operação

As macro-operações são as funcionalidades que serão executadas pela Máquina de Estados. Esse processo é disparado a partir de um evento de uma tecla, ou seja um acionamento de uma tecla.

Mais abaixo vamos mostrar, através de exemplo prático, o que precisa para criar uma nova tecla e como deve ser feito para o evento dessa tecla dar início a execução de um fluxo.

Criando uma nova tecla



Definindo a tecla

O primeiro passo é definir qual tecla será utilizada para acionar uma nova funcionalidade. Por exemplo, vamos criar uma tecla para iniciar a macro-operação de empréstimo pessoal, a partir do estado DISPONIVEL.

Para isso vamos abrir o arquivo MapeamentoTeclado.xml do componente e acrescentar uma nova tecla, conforme exemplo ao lado.

Precisamos observar o seguinte. O parameter "Codigo" não pode conter um código que já esteja sendo utilizado por outra tecla, dentro desse arquivo. A mesma regra serve para o parameter "CodigoNumerico".

Mapeamento Teclado
<ParameterSet name="Tecla">
	<Parameter name="Codigo">111</Parameter>
	<Parameter name="RotuloNumerico">Emprestimo Pessoal</Parameter>
	<Parameter name="RotuloAlfaNumerico">Emprestimo Pessoal</Parameter>
	<Parameter name="FinalizadorNumerico">true</Parameter>
	<Parameter name="CodigoAlfaNumerico">k</Parameter>
	<Parameter name="FinalizadorAlfaNumerico">false</Parameter>
	<Parameter name="CodigoNumerico">TECLA_EMPRESTIMO_PESSOAL</Parameter>
</ParameterSet>

Constante Componentes

Após a definição da tecla no arquivo XML, precisamos incluir a nova tecla ao array de teclas cadastradas no sistema. Para isso vamos abrir a classe com.csi.info.constantes.ConstantesComponentes. Conforme imagem ao lado.




Definindo a Constante

Dentro da classe ConstantesComponentes, vamos definir a constante que representará a tecla no sistema. O valor da constante deve ser o mesmo do parameter CodigoNumerico, definido no arquivo XML conforme exemplo mais acima.

No nosso caso foi:

<Parameter name="CodigoNumerico">TECLA_EMPRESTIMO_PESSOAL</Parameter>
Definindo constante
package com.csi.info.constantes;
  
/** 
 * Interface utilitária com diversas constantes a serem
 * usadas pelos componentes e demais classes ligadas a essa.
 *
 * @author Ricardo Mendonça (<a href="mailto:[email protected]">[email protected]</a>)
 */
public abstract class ConstantesComponentes {
	
	/**
	 * Constante que representa o codigo da tecla de Emprestimo Pessoal
	 */
	public static final String TECLA_EMPRESTIMO_PESSOAL = "TECLA_EMPRESTIMO_PESSOAL";


}

Incluindo tecla no array

Após a definição da constante, precisamos incluir a nova tecla no Array de Teclas válidas para o sistema. O código ao lado, mostra um exemplo.

Dentro da classe ConstanteComponentes existe um array de String chamado TODAS_TECLAS. É neste array onde devemos incluir nossa nova tecla. Observe no exemplo ao lado, que a constante TECLA_EMPRESTIMO_PESSOAL foi acrescentada à última posição do array de Strings.

Array de teclas
package com.csi.info.constantes;
  
/** 
 * Interface utilitária com diversas constantes a serem
 * usadas pelos componentes e demais classes ligadas a essa.
 *
 * @author Ricardo Mendonça (<a href="mailto:[email protected]">[email protected]</a>)
 */
public abstract class ConstantesComponentes {
	
	/**
	 * Constante que representa o codigo da tecla de Emprestimo Pessoal
	 */
	public static final String TECLA_EMPRESTIMO_PESSOAL = "TECLA_EMPRESTIMO_PESSOAL";

	/**
	 * CONSTANTE QUE DEFINE TODAS AS TECLAS
	 */
	public static String[] TODAS_TECLAS =  {TECLA_ADIANTAMENTO,
											TECLA_TOTAL,
											TECLA_VOLTA,
											TECLA_LIMPA,
                                             ..., // demais teclas
											TECLA_EMPRESTIMO_PESSOAL
											};

}

Alterando o diagrama

No diagrama ao lado, temos o fluxo que será acionado com o evento da tecla TECLA_EMPRESTIMO_PESSOAL a partir do estado DISPONIVEL.














A imagem ao lado mostra como ficou o digrama após colocarmos o Event Link (seta na cor verde), com a tecla TECLA_EMPRESTIMO_PESSOAL. Isso indica para a máquina de estados que, quando o componente estiver parado no estado DISPONIVEL e a tecla for acionada, o fluxo EMPRESTIMO_E_SAQUE será executado.






  • Sem rótulos