FileNetのContentEngineでフォルダを検索し、そのクラスを取得します

フセインアクバル:

私は、フォルダを検索し、プロパティを取得するための作業にコードを得ていました。参考:特定のフォルダのためのFileNet内の階層のフォルダを検索します

私は、カスタムフォルダに保存されますドキュメントの異なる種類を区別するために、フォルダオブジェクトのクラス名を取得しようとしています。

私は、Propertiesコレクションを通して繰り返しますが、クラスの名前はプロパティではありません。

String sqlStatement = "SELECT * FROM [Folder] WHERE ([FolderName] LIKE '%MyFolder%')";
SearchSQL sqlObject = new SearchSQL(sqlStatement);
RepositoryRowSet rowSet = searchScope.fetchRows(sqlObject, null, null, new Boolean(true));
Iterator iter = myRows.iterator();
while (iter.hasNext()) {
    RepositoryRow row = (RepositoryRow) iter.next();
    String folderID = row.getProperties().getIdValue("ID").toString();
}

私はrow.getClass()が、それだけのリターンを試してみました:RepositoryRowImpl

リカルド:

あなたが使用している場合は*、あなたのSELECT句で、その後のリポジトリ行オブジェクトは、オブジェクトのすべてのプロパティが含まれます。また、これはと呼ばれるプロパティが含まれますThisこのプロパティは、返されたオブジェクトへの参照です。そのため、フォルダのクラスを取得するために、次のコードを使用することができます。

EngineObject eo = row.getProperties().getEngineObjectValue("This");
String className = eo.getClassName();

代わりに*、あなたはまた、明示的に選択することができますThisその場合、クエリは次のようになります。

String sqlStatement = "SELECT This,Id FROM [Folder] WHERE ([FolderName] LIKE '%MyFolder%')";

これは、サーバーから取得されたデータの量を制限します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=233248&siteId=1