論理回路を構築し、NetBeans プラットフォームのLookupおよびServiceProviderメカニズムを使用して、利用可能なすべての論理要素を UI パレットに取得するプログラムを作成します。
モデル (MVC) には、すべての要素の ServiceProvider である BasicElement クラスがあります。このクラスはパブリックであり、そのパッケージはパブリックにエクスポートされ、View モジュールはそれに依存しています。ビュー モジュールは、このモデル モジュールについてのみ認識します。誰かが @ServiceProvider で注釈が付けられた要素のパックを含む新しいモジュールを追加すると、View は Lookup 要素で見つかった新しいモジュールをパレットにロードします。次に、ユーザーはパレットからシーンに要素を追加し、いくつかの回路を作成して保存 (シリアル化) できます。
問題は、プログラムが保存されたファイルを開こうとすると (要素をデシリアライズする) 例外が発生することです。要素を持つモジュールを認識している (依存している) モジュールがないためです (そして、それらのモジュール内のパッケージは公開されていない可能性があります)。要素には注釈が付けられているだけで、ユーザーに到達するだけで十分です。
それらを逆シリアル化するための要素を持つ新しいモジュールへの依存関係を毎回追加することなく、可能性はありますか? または、一般に、ServiceProvider クラスの背後に隠されているクラス オブジェクトを逆シリアル化する方法があります。