フォルダーとファイルの移動

フォルダーとファイルの移動

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

移動操作は、 コピー操作よりも柔軟です。 コピーはフォルダでのみ機能し、リポジトリ間でコピーすることはできません。 ただし、移動操作は、リポジトリ内またはリポジトリ間でファイルおよびフォルダを操作します。

フォルダーを移動するには、 DLAppService メソッド moveFolder使用します。

moveFolder(long folderId, long parentFolderId, ServiceContext serviceContext)

この方法とそのパラメータの詳細については、その参照 のJavadoc。 このメソッドは copyFolderと似ていますが、フォルダーの名前や説明を変更することはできず、リポジトリー間でフォルダーを移動できます。 フォルダの内容は、フォルダとともに移動します。

ファイルを移動する操作は、フォルダーを移動する操作とほぼ同じです。 ファイルを移動するには、 DLAppService メソッド moveFileEntry使用します。

moveFileEntry(long fileEntryId, long newFolderId, ServiceContext serviceContext)

この方法とそのパラメータの詳細については、その参照 のJavadoc

以下の手順に従って、 moveFolder および moveFileEntry を使用して、それぞれフォルダーとファイルを移動します。 この例では、手順を示すためだけに両方を実行していますが、

  1. 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> 

関連トピック

フォルダーのコピー

« フォルダーのコピーエンティティの取得 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています