OpenOffice.org UNO コンポーネント

関連項目

OpenOffice.org Calc UNO コンポーネントは、既存の OpenOffice.org Office のインストールに機能強化を提供します。UNO コンポーネントは、特定の機能領域に完全に新しい機能を提供したり、既存の一連のサービスやインタフェースに新しい実装を提供したりできます。UNO コンポーネントは OpenOffice.org の機能性を拡張する一般的な方法です。専用のウィザードによって、特定のサービスプロバイダインタフェースの操作を簡略化できます。たとえば、Calc アドインを使用して、Calc に専門的な財務計算機能を追加できます。

UNO コンポーネントは、異なる方法と異なるプログラミング言語で実現できます (ページ下部の関連項目を参照)。このウィザードは、現在 Java テクノロジに注力しています。UNO コンポーネントは、1 つのクラスが UNO コンポーネントフレームワークのエントリポイントになるように特定される、通常の J2SE クラスライブラリとして実現されます。このクラスは、新しく実装されたサービスに関する情報を提供します。これは、このサービスの新しいインスタンスやオブジェクトが満たす必要のある、規約のようなものです。これは、そのような規約のためにどの実装を持つかは、問題ではないことを意味しています。サービスの仕様に応じて、すべての実装が規約を満たすようにしてください。登録クラスは、特定の実装に新しいインスタンスを作成するために、必要なエントリポイントをサポートします。
生成されたコンポーネントのスケルトンは、UNO フレームワークが必要とするインタフェースと同様に、サービス特有のインタフェースを実装します。すべての UNO コンポーネントがこれらのインタフェースを実装するようにしてください。

XServiceInfo
このインタフェースは、サポートおよび実装されているサービスについての情報を提供します。
UNO コンポーネント関数
次の 2 つのメソッドは、任意の UNO コンポーネントによって実装される必要があり、UNO コンポーネントフレームワークに必要な情報を提供します。
__getComponentFactory は、コンポーネント特有のファクトリを返し、このコンポーネントの新しいインスタンスを作成します。
__writeRegistryServiceInfo は、サポートされているサービスに関する情報を提供し、このサービスの正しい実装をインスタンス化する UNO フレームワークによって使用される、実装とサービス間の関係を提供します。

OpenOffice.org のコンポーネントの使用

OpenOffice.org のインストールに新しい UNO コンポーネントを配備すると、ほかのコードやマクロからそのコンポーネントを直接使用できます。グローバルサービスマネージャーを介して、新しいインスタンスを単純にインスタンス化できます。新しい形式のサービスがある場合、デフォルトコンストラクタまたは UNOIDL のサービス定義で定義されたコンストラクタのいずれかを呼び出すことができます。

次に例を示します。
XMyType xMT = org.openoffice.MyType.create(xContext);

関連項目