クラス HalModelBuilder
java.lang.ObjectSE
org.springframework.hateoas.mediatype.hal.HalModelBuilder
HAL イディオム API を公開する複雑な HAL 表現を作成するビルダー API。これは、オプションのプライマリエンティティと一連の埋め込みで構成される表現の概念に基づいて構築されています。表現に存在するリンクの _embedded に含まれるプレビューなど、一般的な HAL パターン用の明示的な API もあります。
- 導入:
- 1.1
- 作成者:
- Greg Turnquist, Oliver Drotbohm
ネストされたクラスのサマリー
メソッドのサマリー
修飾子と型メソッド説明<T extends RepresentationModel<T>>
RepresentationModel<T>build()
エンティティとLink
をRepresentationModel
に変換します。指定されたエンティティをRepresentationModel
に埋め込みます。embed
(ObjectSE entity, LinkRelation linkRelation) エンティティを埋め込み、それをLinkRelation
に関連付けます。embed
(CollectionSE<?> collection) 指定されたコレクションをRepresentationModel
に埋め込みます。embed
(CollectionSE<?> collection, ClassSE<?> type) 指定された型から派生したRepresentationModel
およびLinkRelation
に指定されたコレクションを埋め込みます。embed
(CollectionSE<?> collection, LinkRelation relation) 指定されたLinkRelation
のRepresentationModel
に指定されたコレクションを埋め込みます。指定されたStream
SE をRepresentationModel
に埋め込みます。embed
(StreamSE<?> stream, LinkRelation relation) static HalModelBuilder
プライマリペイロードなしで新しいHalModelBuilder
を作成します。エンティティを埋め込みますが、関係はありません。static HalModelBuilder
halModel()
新しいHalModelBuilder
を作成します。static HalModelBuilder
halModel
(EmbeddedWrappers wrappers) 指定されたEmbeddedWrappers
を使用して新しいHalModelBuilder
を作成します。static HalModelBuilder
halModelOf
(ObjectSE entity) 指定されたエンティティをプライマリペイロードとして使用して、新しいHalModelBuilder
を作成します。link
(StringSE href, LinkRelation relation) 全体にLink
を追加。links
(IterableSE<Link> links) 指定されたLink
をビルドするRepresentationModel
に追加します。現在のペイロードを指定してプレビューのセットアップを開始します。preview
(CollectionSE<?> collection) 指定されたCollection
SE のプレビューセットアップをプレビューとして開始します。preview
(CollectionSE<?> collection, ClassSE<?> type) Collection
SE が空の場合、指定された型にフォールバックするプレビューとして、指定されたCollection
SE のプレビューセットアップを開始します。
メソッドの詳細
halModel
新しいHalModelBuilder
を作成します。- 戻り値:
- null になることはありません。
halModel
指定されたEmbeddedWrappers
を使用して新しいHalModelBuilder
を作成します。- パラメーター:
wrappers
- null であってはなりません。- 戻り値:
- null になることはありません。
halModelOf
指定されたエンティティをプライマリペイロードとして使用して、新しいHalModelBuilder
を作成します。- パラメーター:
entity
- null であってはなりません。- 戻り値:
emptyHalModel
プライマリペイロードなしで新しいHalModelBuilder
を作成します。- 戻り値:
entity
エンティティを埋め込みますが、関係はありません。- パラメーター:
entity
-- 戻り値:
embed
エンティティを埋め込み、それをLinkRelation
に関連付けます。- パラメーター:
entity
- null であってはなりません。linkRelation
- null であってはなりません。- 戻り値:
- null になることはありません。
embed
指定されたエンティティをRepresentationModel
に埋め込みます。- パラメーター:
entity
- null であってはなりません。- 戻り値:
- null になることはありません。
embed
指定されたコレクションをRepresentationModel
に埋め込みます。コレクションが空の場合、RepresentationModel
には何も追加されません。- パラメーター:
collection
- null であってはなりません。- 戻り値:
- null になることはありません。
embed
指定された型から派生したRepresentationModel
およびLinkRelation
に指定されたコレクションを埋め込みます。コレクションが空の場合、RepresentationModel
には何も追加されず、派生LinkRelation
の空の埋め込みが追加されます。- パラメーター:
collection
- null であってはなりません。type
- 使用するLinkRelation
を派生させる型は、null であってはなりません。- 戻り値:
- null になることはありません。
- 関連事項:
embed
指定されたLinkRelation
のRepresentationModel
に指定されたコレクションを埋め込みます。コレクションが空の場合、RepresentationModel
には何も追加されず、派生LinkRelation
の空の埋め込みが追加されます。- パラメーター:
collection
- null であってはなりません。relation
- null であってはなりません。- 戻り値:
- null になることはありません。
embed
指定されたStream
SE をRepresentationModel
に埋め込みます。指定されたStream
SE はすぐに解決されます。つまり、メソッドは、クライアントが事前にStream
SE をCollection
SE に収集する必要がないようにするための単なる構文糖衣として機能します。Stream
SE が空の場合、RepresentationModel
には何も追加されません。- パラメーター:
stream
- null であってはなりません。- 戻り値:
- null になることはありません。
embed
指定された型から派生したRepresentationModel
およびLinkRelation
に、指定されたStream
SE を埋め込みます。指定されたStream
SE はすぐに解決されます。つまり、メソッドは、クライアントが事前にStream
SE をCollection
SE に収集する必要がないようにするための単なる構文糖衣として機能します。Stream
SE が空の場合、RepresentationModel
には何も追加されず、派生LinkRelation
の空の埋め込みが追加されます。- パラメーター:
stream
- null であってはなりません。type
- 使用するLinkRelation
を派生させる型は、null であってはなりません。- 戻り値:
- null になることはありません。
- 関連事項:
embed
指定されたLinkRelation
のRepresentationModel
に指定されたStream
SE を埋め込みます。指定されたStream
SE はすぐに解決されます。つまり、メソッドは、クライアントが事前にStream
SE をCollection
SE に収集する必要がないようにするための単なる構文糖衣として機能します。Stream
SE が空の場合、RepresentationModel
には何も追加されず、派生LinkRelation
の空の埋め込みが追加されます。- パラメーター:
stream
- null であってはなりません。relation
- null であってはなりません。- 戻り値:
- null になることはありません。
preview
現在のペイロードを指定してプレビューのセットアップを開始します。クライアントは、HalModelBuilder.PreviewBuilder.forLink(Link)
メソッドのいずれかを呼び出してセットアップを終了する必要があります。例として、次の呼び出し チェーンは次のとおりです。….preview(…).forLink("…", "relation")
リンクが表現に追加され、埋め込みがリンクの関係に登録されます。{ "_links" : { "relation" : { … } }, "_embedded" : { "relation" : … } }
- パラメーター:
entity
-- 戻り値:
- null になることはありません。
preview
指定されたCollection
SE のプレビューセットアップをプレビューとして開始します。- パラメーター:
collection
-- 戻り値:
- null になることはありません。
- 関連事項:
preview
Collection
SE が空の場合、指定された型にフォールバックするプレビューとして、指定されたCollection
SE のプレビューセットアップを開始します。- パラメーター:
collection
- null であってはなりません。type
- null であってはなりません。- 戻り値:
- null になることはありません。
- 関連事項:
link
全体にLink
を追加。注: これにより、トップレベルに追加されます。エンティティ内にリンクが必要な場合は、HalModelBuilder
を使用してそれも定義します。- パラメーター:
link
- null であってはなりません。- 戻り値:
- null になることはありません。
link
- パラメーター:
href
- null であってはなりません。relation
- null であってはなりません。- 戻り値:
- null になることはありません。
links
指定されたLink
をビルドするRepresentationModel
に追加します。- パラメーター:
links
- null であってはなりません。- 戻り値:
- null になることはありません。
build
エンティティとLink
をRepresentationModel
に変換します。埋め込みエントリがある場合は、優先メディア型MediaTypes.HAL_JSON
およびMediaTypes.HAL_FORMS_JSON
を追加します。- 戻り値:
- null になることはありません。