MiG Calendar (英語版)
Javaアプリケーションに予定表の機能を追加
MiG InfoCom 社の製品
2005 年より日本国内にてComponentSourceで販売中。
価格:¥ 168,410 (税込)〜 バージョン: v6.9.3 (1)
Javaアプリケーションに予定表の機能を追加
MiG Calendarを利用することで、時間軸に基づく各種の視覚化を、最小限の作業によりアプリケーションに追加することが可能になります。たとえば、Outlook やAppleのCalのような完璧なカレンダーアプリケーションを作成し、TVスケジュールやフライト情報などのアプリケーションに加えることができます。さらに、同じコンポーネントを、異なる手法で用いることで、すべてのアプリケーションに対応できます。
機能:
柔軟なコンポーネント構造 - 1つのコンポーネントクラスが、すべてのタイプのカレンダーを操作します。Decoratorが階層化されている場合には、すべての可視化が可能な要素が、利用を通じて追加されていきます。それらは単に設定にかかわる問題であるため、1つのタイプから別のタイプへの移行も容易です。日/週/月/年のビューさえ、同じコンポーネントに異なる設定を施した結果です。
完全な再帰処理により、iCalendar(RFC 2445)仕様における全てのアスペクトがサポートされます。そこに含まれるカスタムな再帰には、サブの再帰が含まれる場合と、除かれる場合があります。
日付と期間のための高度な処理を行う日付ユーティリティパッケージが、たとえば期間を過ぎたアイテムの繰返し処理や、日付境界の丸めなどを計算します。
マウスインタラクションによる効果とイベントを用いて、ヘッダー周りのサポートは完璧に処理されます。ヘッダーと日付エリアの間であっても、カスタムコンポーネントを挿入するオプションのように、自動的なスクロールとコーナーを塗りつぶすためのコンポーネントが提供されます。また、このヘッダーはDecoratorサポートの階層を含むため、ビルトインされたデコレーターがユースケースに含まれない場合には、カスタムなデコレーターを記述することができます。
広範囲におよぶイベントのサポート - ほとんどの更新とインタラクションを、イベントのリスナーから捉えることができます。各種のインタラクションに関連したカスタムなイベントの作成と発火が、AShape APIを通じて実現されます。
カレンダー内のアクティビティを操作するために、インターフェイスと実装のためのクラスが含まれます。それにより、MiG Calendarを用いた既存クラスを統合と、新規クラスの作成が容易になります。
内包されるTheme Editorは、GUIを用いたカスタムなカレンダーのルック&フィール(スキン)の作成を容易にします。それにもかかわらず、ほとんどの場合において、Themeプロパティの変更やデコレーターの作成による、手書きのコードを用いたカスタマイゼーションは容易であり、また、GUIエディタ内でのリアルタイムでの変更点の参照が可能です。
カレンダー内にアクティビティを書き込むときの、形状の定義と描画を行うAShape APIは非常に柔軟であり、また、カレンダーレイアウト自身からは完全に分離されたものです。
これまでには見ることの無かった柔軟な制御が、カスタマイズされたカレンダーを作成するために実現されています。AShape APIはいくつかのアニメーションのサポートを行い、Commandパターンに基づいた、とても柔軟なユーザーインタラクションのためのサブシステムを提供します。さらに、AShapesは実際の日付エリアの外側で使うことが可能であり、たとえば、テキストやグラフィックスをアクティベイトするためのヘッダーを作成できます。
カレンダーにより操作されるアクティビティの、同期およびインポートとエクスポートのためのサブシステムは、完全に交換が可能であり、また、拡張が可能です。たとえば、.icalファイルの参照と編集のために、サードパーティー製のiCalendarパーサーを用いたフックなどが容易に行えます。.icalパーサーのデモ実装を、参照するためのサンプルが含まれています。さらに、オープンソースのパーサーを入手することも可能です。
MiGカレンダーのクラス階層はシンプルですが、とてもパワフルでもあります。これは、Sun MicrosystemのSwing APIにおける、デザインパターンに従ったものです。サブクラスを必要としない実装が、数多くのカスタマイゼーションをパッケージ化します。ただし、設計においてサブクラスは許容され、また適切に考慮されています。
あらゆるアクティビティに対して、Categoryによる注釈が可能です。Categoryは多重継承のツリーの中に保持され、最大の柔軟性を保証します。カレンダー内のColumn/Rowは任意の数のカテゴリーによりフィルタリングが可能であり、また、ブーリアンオペレータとの結合が可能です。さらに、Column/Row自身は、提供されるツリー構造の中で構築されています。そのため、カスタムなDecoratorを用いることで、完全にインタラクティブなガントチャートを作成することさえ可能です。
機能の概要: