Controles |
Top Previous Next |
Controles são responsáveis pela interação com o usuário e geração de front-end para interface de serviço. Para implementar controles, é necessário implementar IControl ou alguma interface que a estende. Controles podem armazenar um valor (IDataControl), e também podem estar vinculados a um campo de um source (IDataBoundControl). Há controles cuja função é especificamente validar dados entrados pelo usuário (IValidarControl). Ao invés de implementar diretamente alguma dessas interfaces citadas, pode-se estender uma de suas implementações, o que facilita a criação de um controle. Por exemplo, classes como Control, DataControl, DataBoundControl e ValidatorControl podem ser estendidas. Dessa forma, toda a lógica genérica do controle já estará implementada e o desenvolvedor pode focar apenas nos aspectos específicos do controle. Portanto, os controles podem ser divididos em: • Control: Controles de layout apenas; • Data Control: Controles de layout, mas também são responsáveis pela persistência de dados trocados entre o cliente (browser) e o servidor; • Data Bound Control: Controles que acessam um ou mais sources e disparam processes actions. Os controles de formulário fazem parte desta classificação, pois manipulam dados. As etapas principais no ciclo de vida de um controle são:
Além disso, na implementação em DataBoundControl, o controle se registra como um observador de seu source. Sempre quando os dados do source são carregados, essa implementação executa o método setValueFromSource, que atribui ao controle o valor que está no campo a que ele está associado. Um override nesse método permite a customização de como o valor de um controle é lido do source. Quando o método setRenderData de um controle é executado, o controle deve acrescentar em seu XML os dados que deseja disponibilizar para o XSL, que é responsável por gerar o código HTML que será renderizado no navegador. Outros XSLs podem ser criados, para que o controle possa ser renderizado com diferentes designs, enquanto que a implementação da funcionalidade do controle continua a mesma, implementada na classe Java. |
Lumis Portal 6.1.0.111014
Copyright © 2001-2007, Lumis. Todos os direitos reservados.