フォルダーを作成する
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
Documents and Mediaライブラリにフォルダー(フォルダー
エンティティ)を作成するには、 DLAppService
インターフェースの addFolder
メソッドを使用する必要があります。
addFolder(long repositoryId,
long parentFolderId,
String name,
String description,
ServiceContext serviceContext)
参照してください このメソッドのJavadocの パラメータの説明について。 description
パラメーターはオプションです。
DLAppService
メソッド addFolder
フォルダーを作成するには、次の手順に従います。
-
DLAppService
への参照を取得します。@Reference private DLAppService _dlAppService;
詳細については、入門チュートリアルの「サービスリファレンス 取得
」のセクションを参照してください。
2 addFolder
メソッドの引数を設定するために必要なデータを取得します。 エンドユーザーから送信されたデータを使用してフォルダーを作成するのが一般的であるため、リクエストからデータを抽出できます。 この例では、 javax.portlet.ActionRequest
および ParamUtil
ます。
long repositoryId = ParamUtil.getLong(actionRequest, "repositoryId");
long parentFolderId = ParamUtil.getLong(actionRequest, "parentFolderId");
String name = ParamUtil.getString(actionRequest, "name");
String description = ParamUtil.getString(actionRequest, "description");
ServiceContext serviceContext = ServiceContextFactory.getInstance(
DLFolder.class.getName(), actionRequest);
リポジトリIDとフォルダIDの取得の詳細については、リポジトリとフォルダの指定に関する 入門チュートリアルの セクションを参照してください。 ServiceContext
詳細については、チュートリアル ServiceContextについて参照してください。
3 前の手順のデータを使用して、サービス参照の addFolder
メソッドを呼び出します。
Folder folder = _dlAppService.addFolder(
repositoryId, parentFolderId, name, description,
serviceContext);
このメソッドは Folder
オブジェクトを返します`この例では、後で使用するために変数に設定します。 ただし、これを行う必要はありません。
この例の完全なコードは、Liferay DXPの EditFolderMVCActionCommand`
クラスの `updateFolder` メソッドにあります。 このクラスは、Documents and Media APIを使用して、Documents and Mediaアプリがサポートするほぼすべての `Folder` アクションを実装します。 また、この `updateFolder` メソッドと、残りの `EditFolderMVCActionCommand`には、Documents and Mediaアプリの特定のニーズに合う追加のロジックが含まれていることに注意してください。
フォルダーと外部リポジトリ
外部リポジトリ(SharePointなど)のプロキシとして機能するフォルダを作成することにより、サイトのデフォルトリポジトリ内にそのリポジトリを効果的にマウントできます。 ユーザーがこの特別なフォルダーに入ると、外部リポジトリーが表示されます。 これらのフォルダーは マウントポイントと呼ばれます。 サービスコンテキストの mountPoint
属性を true
、そのサービスコンテキストを addFolder
メソッドで使用することにより、API経由で作成できます。
serviceContext.setAttribute("mountPoint", true);
このようなフォルダーの repositoryId
は、フォルダーが存在するリポジトリではなく、フォルダーが指す外部リポジトリを示していることに注意してください。 また、マウントポイントフォルダーは、デフォルトのサイトリポジトリにのみ存在できます。