6.11.2 メタ情報の取得

ここでは,メタ情報の取得の例を示します。

<この項の構成>
(1) 文書空間の情報の取得
(2) クラスディスクリプションおよびプロパティディスクリプションの取得

(1) 文書空間の情報の取得

文書空間の情報は,DbjMetaインターフェースのメソッドで取得できます。取得できるのは,次の情報です。

文書空間の情報を取得する例を示します。

// 文書空間の情報を取得する例
 
// DbjMetaManagerインターフェースを取得する
DbjMetaManager metamgr = DbjFactory0200.getMetaManager();

DbjMeta meta = metamgr.getMeta( docspaceid );

// Authorプロパティのデータ型を取得する
int datatype = meta.getPropDataType( "Author" );

// 拡張子に対応するレンディションタイプを取得する
String rendtype = meta.getRenditionType( "sgm" );

// レンディションタイプに対応する拡張子を取得する
String ext = meta.getExtFromRenditionType( "text/html" );

(2) クラスディスクリプションおよびプロパティディスクリプションの取得

クラスディスクリプションは,DbjClassDescインターフェースを使用して取得します。

DbjClassDescインターフェースを使用して取得できるのは,次の情報です。

プロパティディスクリプションは,DbjPropDescインターフェースのメソッドで取得します。

DbjPropDescインターフェースを使用して取得できるのは,次の情報です。

まず,DbjClassDescインターフェースの使用例を示します。

 

// DbjClassDescインターフェースの使用例

DbjMetaManager metamgr = DbjFactory0200.getMetaManager();
DbjMeta meta = metamgr.getMeta( docspaceid );

// Documentクラスのクラスディスクリプションを取得する
// (DbjClassDescインターフェースを取得する)
DbjClassDesc cd = meta.getClassDesc( "Document" );

// サブクラスのクラスディスクリプションを取得する
List sublist = cd.getSubClasses();

// サブクラスのクラス名を出力する
for(int i=0;i<sublist.size();i++){
 DbjClassDesc tmp = (DbjClassDesc)sublist.get(i);
 System.out.println("sub class name["+i+"]="+tmp.getName());
}

次に,DbjPropDescインターフェースの使用例を示します。

// DbjPropDescインターフェースの使用例
 
 // meta:DbjMetaインターフェース
 
// Documentクラスのクラスディスクリプションを取得する
DbjClassDesc cd = meta.getClassDesc("Document");

// プロパティディスクリプションを取得する
List proplist = cd.getProperties();

// プロパティ名およびプロパティのデータ型を出力する
for(int i=0;i<proplist.size();i++){
 DbjPropDesc tmp = (DbjPropDesc)proplist.get(i);
 System.out.println("prop name["+i+"]="+tmp.getName()
  + ",type " + tmp.getDataType() );
}