Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouTalita Santarém Marroquim Alterado mais de 5 anos atrás
1
Edson Susumu Asaga susumu@computer.org
JavaBeans Edson Susumu Asaga
2
O que é um Bean? Um JavaBean é um componente de software reutilizável que pode ser manipulado visualmente em uma ferramenta de construção.
3
O que caracteriza um Bean?
A ferramenta de construção pode analisar suas características através de introspeção Pode se comunicar com outros objetos gerando eventos Suas propriedades podem ser personificadas usando a ferramenta de construção ou acessadas programaticamente Suporta persistência de forma que possa ser gravado depois de personalizado
4
Propriedades São atributos com nome de um Bean Java que podem afetar sua aparência ou comportamento Podem ser Somente de leitura Somente de escrita De leitura e escrita A operação de escrita de uma propriedade pode ter efeitos colaterais
5
Eventos São a mensagens que componente (Fonte do evento) envia para outros (Ouvintes) notificando a ocorrência de um acontecimento determinado. Os ouvintes de um evento implementam a interface através da qual receberão notificações do evento. A fonte do evento: Conhece os ouvintes do evento. Fornece funções padronizadas para registro e retirada de ouvintes do evento.
6
Métodos São métodos comuns podem ser chamados por outros objetos.
A forma padrão é expor todos os métodos públicos de um Bean, mas um Bean pode escolher expor somente um subconjunto de seus métodos públicos.
7
Persistência Um Bean deve implementar a interface Serializable ou Externalizable para suportar o uso das APIs Java de serialização para implementar persistência Uma ferramenta também pode gerar código para restaurar o estado de um Bean
8
Introspecção Processo através do qual as ferramentas de construção descobrem as características dos Beans. Existem duas alternativas para informar as características de um Bean: Aderindo a convenções de nomenclatura. Fornecendo explicitamente informação sobre as características através de uma classe de informação de Bean. A classe de informação de Bean implementa um interface interface padrão, BeanInfo.
9
Convenções de Nomenclatura: Propriedade
Para uma propriedade xxx do tipo T: método de leitura: getXxx(): T. Se T for boolean pode ser isXxx(): boolean ou getXxx(): boolean. método de escrita: setXxx(T).
10
Convenções de Nomenclatura: Evento
Para um evento Yyy: método de registro de ouvintes addYyyListener(YyyListener). método de retirada de ouvintes removeYyyListener(YyyListener). a interface YyyListener estende a interface sem método java.util.EventListener e declara funções de notificação.
11
Beans e Concorrência Bean Java pressupõe um ambiente concorrente onde vários threads diferentes podem estar simultaneamente enviando eventos ou chamando métodos ou acessando propriedades O desenvolvedor do Bean deve garantir que o Bean se comporte apropriadamente sob acesso concorrente Para Beans simples isto pode ser tratado simplismente fazendo todos métodos sincronizados
12
Exemplo: TemporizadorListener
package beanTemporizador; public interface TemporizadorListener extends java.util.EventListener { void temporizadorDisparou(Temporizador t); }
13
Exemplo: Propriedade intervalo
package beanTemporizador; public class Temporizador implements Serializable { private long intervalo; public long getIntervalo() { return intervalo; } public void setIntervalo(long intervalo) { this.intervalo = intervalo;
14
Exemplo: Propriedade repetitivo
public class Temporizador implements Serializable { private boolean repetitivo; public boolean isRepetitivo() { return repetitivo; } public void setRepetitivo(boolean repetitivo) { this.repetitivo = repetitivo;
15
Exemplo: addTemporizadorListener
public class Temporizador implements Serializable { private transient ArrayList listenerList; public synchronized void addTemporizadorListener( TemporizadorListener listener) { if (listenerList == null ) { listenerList = new ArrayList(); } listenerList.add (listener);
16
Exemplo: removeTemporizadorListener
public class Temporizador implements Serializable { private transient ArrayList listenerList; public synchronized void removeTemporizadorListener( TemporizadorListener listener) { if (listenerList != null ) { listenerList.remove(listener); }
17
Exemplo: dispareTemporizador
public class Temporizador implements Serializable { private transient ArrayList listenerList; private void dispareTemporizador() { java.util.ArrayList list; synchronized (this) { list =(ArrayList)listenerList.clone(); } for (int i = 0; i < list.size (); i++) { ((TemporizadorListener)list.get(i)). temporizadorDisparou(this);
18
Introspector É uma classe utilitária que examina os Beans de acordo com as convenções de nomenclatura para descobrir suas características. Utiliza a API de reflexão. Possui o método getBeanInfo(Class): BeanInfo. Este método recebe uma Class e retorna um objeto que implementa a interface java.beans.BeanInfo que informa as propriedades, métodos e eventos do Bean.
19
Empacotamento de Beans
Beans são empacotados e distribuídos em arquivo compactado do tipo JAR que contem: Arquivos de classes compiladas do Bean (.class) Arquivo manifesto que é um arquivo texto num formato padronizado que indica quais são as classes que são Beans
20
Referência Página JavaBeans na Web:
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.