コンテンツ・オンデマンド機能を使用すると、リソースを節約するために、SDM モデルでのオブジェクト・コンテンツのロードを遅らせることができます。
タイリング・システムと異なり、コンテンツ・オンデマンドは、すべてのオブジェクトがモデルに存在することを要求します。
オブジェクトは、中空きでも可能です。中空きモデル・オブジェクトがメモリー消費も時間消費も少ないと想定すると、コンテンツ・オンデマンドを使用すれば、オンデマンドでそのオブジェクトを満たし、必要がなくなったときに空にすることができます。
コンテンツ・オンデマンドは、オブジェクト・セットのコンテンツをロードする必要があるとき、およびオプションでアンロード可能なときに、通知を送信します。
コンテンツ・オンデマンドは、主に次の 2 つのユース・ケースに対応します。
- ロードに関して時間のかかるモデルと起動が遅いアプリケーション。 モデル、およびモデル・オブジェクトのグラフィック表示が軽くシンプルになるため、コンテンツの遅延ローディングは、Diagrammer アプリケーションの起動を速めます。 オブジェクトはオンデマンドで充てんされるので、要求されたオブジェクトについてのみ、カスタマイズとレンダリングの時間が使用されます。
- オブジェクトのサブセットのみのコンテンツをロードする必要のあるファット・モデル。 通常、メイン・ビューに表示可能なオブジェクトのみが完全にロードされます。 パン (水平移動) またはズーミングの際、新規に表示されるオブジェクトのコンテンツがロードされて、表示されないオブジェクトのコンテンツはアンロードできるため、モデルのメモリー消費を最小限に保つことができます。
コンテンツ・オンデマンド機能のクラスは、パッケージ
ilog.views.sdm.modeltools
にあります。
エントリー・ポイントは、クラス IlvContentController です。コンテンツ・オンデマンドの例が、<installdir>/jviews-diagrammer89/samples/diagrammer/content-on-demand にあります。