Componentes UNO do OpenOffice.org

Veja também 

Componentes Calc UNO do OpenOffice.org provêm melhoramentos funcionais na instalação existente da suite OpenOffice.org. Componentes UNO podem prover funções completamente novas para uma área funcional esecífica, ou podem prover uma nova implementação para o existente conjunto de serviços e interfaces. Componentes UNO são a maneira comum de extender funcionalidades do OpenOffice.org. Assistentes especializados podem simplificar o trabalho para interfaces provedoras de serviço específicas. Por exemplo Calc Add-Ins podem ser usados para adicionar funções de cálculos financeiros especializados ao Calc.

Componentes UNO podem ser feitos de diferentes maneiras e com diferentes linguagens de programação (veja as referências abaixo). O assistente é focado atualmente em tecnologias Java. Componentes UNO são realizados como bibliotecas de classes J2SE normais onde uma classe é identificada para ser o ponto de entrada para o framework do componente UNO. Essa classe provê informação sobre os novos serviços implementados, que são como um contrato que novas intâncias ou objetos desse serviço devem preencher. Isso significa que não deve importar de qual implementação você tem o contrato. Todas as implementações devem preencher o contrato segundo a especificação do serviço. A classe de registro suporta os pontos de entrada necessários para criar novas instâncias para uma implementação específica.
Os esqueletos do componente gerado implementam interfaces de serviço específicos e também interfaces que o framework UNO requer. Todos os componentes UNO devem implementar essas interfaces.

XServiceInfo
Essa interface provê informação sobre o serviço suportado/implementado.
Funções do componente UNO
Esses dois métodos devem ser implementados por qualquer componentes UNO, e eles provêm informações necessárias para o framework do componentes UNO.
__getComponentFactory retorna uma fábrica de componentes específicos para criar novas instâncias desse componente
__writeRegistryServiceInfo provê informação sobre serviços suportados e provê relacionamento entre a implementação e o serviço que é usado pelo framework UNO para instanciar a implementação correta do serviço.

Utilizando componentes no OpenOffice.org

Assim que você tiver implantado o novo componente UNO em uma instalação do OpenOffice.org você pode utilizá-lo diretamente de qualquer outro código ou em macros. Você pode simplesmente instanciar uma nova instância via o gerenciador de serviço global. Se você tiver um novo estilo de serviço, você pode chamar ou o construtor padrão ou o construtor definido na definição do serviço no UNOIDL.

Por exemplo:
XMyType xMT = org.openoffice.MyType.create(xContext);

Veja também