ここでは,メタ情報の取得の例を示します。
文書空間の情報は,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" );
クラスディスクリプションは,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() );
}