Class Component
java.lang.Object
br.ufsc.labsec.component.Component
- Direct Known Subclasses:
CacheComponent, CertificateComponent, PKCS12Repository, SignatureComponent, SignaturePolicyComponent, SignerComponent, TimeStampComponent, TrustAnchorComponent, ValidationServiceRepository
Abstração de um componente de uma aplicação. Deve conter os serviços providos
e os requisitos para poder operar.
Os requisitos do componente devem ser declarados como atributos públicos com a anotação @Requirement.
Os serviços providos devem ser informados no construtor do componente através
da chamada do método defineRoleProvider(String, Object)
onde o primeiro parâmetro é o nome do serviço, ou seja, o nome da interface
que identifica o serviço e o segundo é a implementação daquele componente
para o serviço em questão.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionComponent(Application application) Todos os componentes são criados por uma aplicação. -
Method Summary
Modifier and TypeMethodDescriptionabstract voidclear()Avisa o componente que o seu estado deve ser reiniciadofinal voidAtribui uma implementação a um campo anotado com @Requirement.voidcopyFieldsTo(Component copy) Copia os atributos relevantes da instância que chama esse método para copy.protected final voiddefineRoleProvider(String role, Object provider) Método que deve ser usado pelas implementações de componentes para que estás definam um serviço que provém.Obtém a instância da aplicação para acessar os parâmetros ou o Logger<T> TgetParameter(String key) final ObjectMétodo utilizado pela aplicação para obter a implementação de algum serviço.final booleanready()Informa a aplicação se o componente está pronto para execuçãoabstract voidAvisa o componente que a aplicação foi configurada e está tudo pronto para começar a operação.
-
Field Details
-
application
-
-
Constructor Details
-
Component
Todos os componentes são criados por uma aplicação. A aplicação está disponível para as implementações dos componentes para que essas implementações possam acessar os parâmetros e os controles básicos da aplicação.- Parameters:
application- Instância da aplicação
-
-
Method Details
-
copyFieldsTo
Copia os atributos relevantes da instância que chama esse método para copy.- Parameters:
copy- objeto que receberá as cópias dos atributos
-
defineRoleProvider
Método que deve ser usado pelas implementações de componentes para que estás definam um serviço que provém. Esse método deve ser chamado em geral no construtor da implementação do componente.- Parameters:
role- Nome do serviço provido identificado pelo nome da Interface implementadaprovider- Implementação fornecida pelo componente
-
connect
-
getRole
Método utilizado pela aplicação para obter a implementação de algum serviço. Os serviço são disponibilizados pelo métododefineRoleProvider(String, Object)que geralmente é chamado no construtor da Implementação do componente.- Parameters:
role- Nome do serviço buscado- Returns:
- Implementação do serviço ou nulo se não houver
-
getRequirementsNotMeet
-
ready
public final boolean ready()Informa a aplicação se o componente está pronto para execução- Returns:
- Verdadeiro se está pronto
-
startOperation
public abstract void startOperation()Avisa o componente que a aplicação foi configurada e está tudo pronto para começar a operação. -
clear
public abstract void clear()Avisa o componente que o seu estado deve ser reiniciado -
getApplication
Obtém a instância da aplicação para acessar os parâmetros ou o Logger- Returns:
- A instância da aplicação
-
getParameter
-