フォルダーとファイルの移動
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
移動操作は、 コピー操作よりも柔軟です。 コピーはフォルダでのみ機能し、リポジトリ間でコピーすることはできません。 ただし、移動操作は、リポジトリ内またはリポジトリ間でファイルおよびフォルダを操作します。
フォルダーを移動するには、 DLAppService
メソッド moveFolder
使用します。
moveFolder(long folderId, long parentFolderId, ServiceContext serviceContext)
この方法とそのパラメータの詳細については、その参照 のJavadoc。 このメソッドは copyFolder
と似ていますが、フォルダーの名前や説明を変更することはできず、リポジトリー間でフォルダーを移動できます。 フォルダの内容は、フォルダとともに移動します。
ファイルを移動する操作は、フォルダーを移動する操作とほぼ同じです。 ファイルを移動するには、 DLAppService
メソッド moveFileEntry
使用します。
moveFileEntry(long fileEntryId, long newFolderId, ServiceContext serviceContext)
この方法とそのパラメータの詳細については、その参照 のJavadoc。
以下の手順に従って、 moveFolder
および moveFileEntry
を使用して、それぞれフォルダーとファイルを移動します。 この例では、手順を示すためだけに両方を実行していますが、
-
DLAppService
への参照を取得します。@Reference private DLAppService _dlAppService;
詳細については、入門チュートリアルの「サービスリファレンス 取得
」のセクションを参照してください。
2 メソッドの引数を設定するために必要なデータを取得します。 通常、フォルダーとファイルの移動はユーザーのアクションに応じて行われるため、リクエストからデータを取得できます。 この例では、 javax.portlet.ActionRequest
および ParamUtil
を介してこれを行いますが、任意の方法でデータを取得できます。
// Get the folder IDs
long folderId = ParamUtil.getLong(actionRequest, "folderId");
long newFolderId = ParamUtil.getLong(actionRequest, "newFolderId");
// Get the file ID
long fileEntryId = ParamUtil.getLong(actionRequest, "fileEntryId");
ServiceContext serviceContext = ServiceContextFactory.getInstance(
DLFileEntry.class.getName(), actionRequest);
フォルダーIDの取得の詳細については、フォルダーの指定に関する 入門チュートリアルの セクションを参照してください。 ServiceContext
詳細については、チュートリアル ServiceContextについて参照してください。
3 サービス参照のメソッドを呼び出します。 この例では、 moveFolder
を呼び出して、フォルダー(folderId
)を別のフォルダー(newFolderId
)に移動します。 次に、 moveFileEntry
を呼び出して、ファイル(fileEntryId
)を同じ宛先フォルダーに移動します。
_dlAppService.moveFolder(folderId, newFolderId, serviceContext);
_dlAppService.moveFileEntry(fileEntryId, newFolderId, serviceContext);
</ol>