Architettura dei componenti

()

I componenti di UNO sono file di archivio Java (JAR) (componenti Java) o librerie di collegamento dinamico (componenti C++), con la capacità di creare un’istanza di oggetti che possono integrarsi nell’ambiente UNO. A tale scopo, i componenti devono contenere determinati metodi statici (Java) o funzioni di esportazione (C++) che devono essere richiamati da un gestore di servizi UNO. Di seguito, questi metodi sono chiamati operazioni dei componenti.

Deve esistere un metodo per fornire fabbriche a servizio singolo per ogni oggetto implementato nel componente. Attraverso questo metodo, il gestore del servizio può ottenere una singola fabbrica per un oggetto specifico e chiedere alla fabbrica di creare l’oggetto contenuto nel componente. Inoltre, deve esistere un metodo che scriva le informazioni di registrazione sul componente, che viene utilizzato quando un componente viene registrato con il gestore del servizio. In C++ è necessaria una funzione aggiuntiva che informi il caricatore di componenti sul compilatore utilizzato per compilare il componente.

Le operazioni sui componenti sono sempre necessarie nei componenti e sono specifiche della lingua. Successivamente, quando verranno discussi Java e C++, mostreremo come scriverli.

Un componente che implementa tre oggetti UNO
L’illustrazione mostra un componente che contiene tre oggetti implementati. Due di loro, srv1 e srv2 implementano un’unica specifica di servizio (Service1 e Service2), mentre srv3_4 supporta due servizi contemporaneamente (Service3 e Service4).

Gli oggetti implementati in un componente devono supportare un certo numero di interfacce UNO di base per essere completamente utilizzabili da tutte le parti dell’applicazione Apache OpenOffice. Queste interfacce principali sono discusse nella sezione successiva. La funzionalità individuale degli oggetti è coperta dalle interfacce aggiuntive che esportano. Di solito queste interfacce sono racchiuse in una specifica del servizio.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?