かなり間があいてしまいましたが、今回は、カスタムタイプの定義、クエリ、サービスの概要を紹介します。

2/3を公開してからかなり時間がたってしまいました。申し訳ありません。
#実は1度にまとめて書いているので、単純なアップロード作業のミスなのですが・・・

リポジトリのモデルや基本となるオブジェクトタイプについてはすでにご説明しているので、本稿では独自のオブジェクトタイプの実装に関する規程と、各オブジェクトに対する操作をとりまとめたサービスについてご紹介したいと思います。

カスタムオブジェクトタイプ

オブジェクトタイプは属性の組み合わせによって定義されます。CMISにおけるオブジェクトは強い型付けがなされ、未定義の属性をインスタンスレベルで後から追加するという仕組みはありません。(JCRにおけるResidual属性、WebDAVにおけるDead属性にあたるものはサポートされません。定義にない属性が検出された場合は例外として扱います)

オブジェクトタイプ自体のユニークネスを確保するため、システムからユニークな識別子をタイプIDとして割り当てます。また、オブジェクトタイプの定義にも継承による階層構造を利用できます。継承の仕組みは以下のルールに従います。

・ルートタイプは親タイプをもたない。ルートでないタイプは必ず1つだけ親タイプを持つ。
・オブジェクトタイプは(それ自体オブジェクト型のものを含む)属性の集合として定義される。属性のオブジェクト型には継承機能は適用されない。
・サブタイプには親タイプで定義されている属性がすべて適用される。何かの理由で親の属性の一部を継承したくない場合は、定義ではなく値を未設定とする。
・クエリにタイプ名を使った場合は子孫タイプのすべてが対象となる。
・ルートタイプは基本オブジェクトタイプである文書・フォルダ・関連・ポリシの4つのみ。


続きはこちら