クラス HalModelBuilder

java.lang.ObjectSE
org.springframework.hateoas.mediatype.hal.HalModelBuilder

public class HalModelBuilder extends ObjectSE
HAL イディオム API を公開する複雑な HAL 表現を作成するビルダー API。これは、オプションのプライマリエンティティと一連の埋め込みで構成される表現の概念に基づいて構築されています。表現に存在するリンクの _embedded に含まれるプレビューなど、一般的な HAL パターン用の明示的な API もあります。
導入:
1.1
作成者:
Greg Turnquist, Oliver Drotbohm
  • メソッドの詳細

    • halModel

      public static HalModelBuilder halModel()
      新しい HalModelBuilder を作成します。
      戻り値:
      null になることはありません。
    • halModel

      public static HalModelBuilder halModel(EmbeddedWrappers wrappers)
      指定された EmbeddedWrappers を使用して新しい HalModelBuilder を作成します。
      パラメーター:
      wrappers - null であってはなりません。
      戻り値:
      null になることはありません。
    • halModelOf

      public static HalModelBuilder halModelOf(ObjectSE entity)
      指定されたエンティティをプライマリペイロードとして使用して、新しい HalModelBuilder を作成します。
      パラメーター:
      entity - null であってはなりません。
      戻り値:
    • emptyHalModel

      public static HalModelBuilder emptyHalModel()
      プライマリペイロードなしで新しい HalModelBuilder を作成します。
      戻り値:
    • entity

      public HalModelBuilder entity(ObjectSE entity)
      エンティティを埋め込みますが、関係はありません。
      パラメーター:
      entity -
      戻り値:
    • embed

      public HalModelBuilder embed(ObjectSE entity, LinkRelation linkRelation)
      エンティティを埋め込み、それを LinkRelation に関連付けます。
      パラメーター:
      entity - null であってはなりません。
      linkRelation - null であってはなりません。
      戻り値:
      null になることはありません。
    • embed

      public HalModelBuilder embed(ObjectSE entity)
      指定されたエンティティを RepresentationModel に埋め込みます。
      パラメーター:
      entity - null であってはなりません。
      戻り値:
      null になることはありません。
    • embed

      public HalModelBuilder embed(CollectionSE<?> collection)
      指定されたコレクションを RepresentationModel に埋め込みます。コレクションが空の場合、RepresentationModel には何も追加されません。
      パラメーター:
      collection - null であってはなりません。
      戻り値:
      null になることはありません。
    • embed

      public HalModelBuilder embed(CollectionSE<?> collection, ClassSE<?> type)
      指定された型から派生した RepresentationModel および LinkRelation に指定されたコレクションを埋め込みます。コレクションが空の場合、RepresentationModel には何も追加されず、派生 LinkRelation の空の埋め込みが追加されます。
      パラメーター:
      collection - null であってはなりません。
      type - 使用する LinkRelation を派生させる型は、null であってはなりません。
      戻り値:
      null になることはありません。
      関連事項:
    • embed

      public HalModelBuilder embed(CollectionSE<?> collection, LinkRelation relation)
      指定された LinkRelationRepresentationModel に指定されたコレクションを埋め込みます。コレクションが空の場合、RepresentationModel には何も追加されず、派生 LinkRelation の空の埋め込みが追加されます。
      パラメーター:
      collection - null であってはなりません。
      relation - null であってはなりません。
      戻り値:
      null になることはありません。
    • embed

      public HalModelBuilder embed(StreamSE<?> stream)
      指定された StreamSERepresentationModel に埋め込みます。指定された StreamSE はすぐに解決されます。つまり、メソッドは、クライアントが事前に StreamSECollectionSE に収集する必要がないようにするための単なる構文糖衣として機能します。StreamSE が空の場合、RepresentationModel には何も追加されません。
      パラメーター:
      stream - null であってはなりません。
      戻り値:
      null になることはありません。
    • embed

      public HalModelBuilder embed(StreamSE<?> stream, ClassSE<?> type)
      指定された型から派生した RepresentationModel および LinkRelation に、指定された StreamSE を埋め込みます。指定された StreamSE はすぐに解決されます。つまり、メソッドは、クライアントが事前に StreamSECollectionSE に収集する必要がないようにするための単なる構文糖衣として機能します。StreamSE が空の場合、RepresentationModel には何も追加されず、派生 LinkRelation の空の埋め込みが追加されます。
      パラメーター:
      stream - null であってはなりません。
      type - 使用する LinkRelation を派生させる型は、null であってはなりません。
      戻り値:
      null になることはありません。
      関連事項:
    • embed

      public HalModelBuilder embed(StreamSE<?> stream, LinkRelation relation)
      指定された LinkRelationRepresentationModel に指定された StreamSE を埋め込みます。指定された StreamSE はすぐに解決されます。つまり、メソッドは、クライアントが事前に StreamSECollectionSE に収集する必要がないようにするための単なる構文糖衣として機能します。StreamSE が空の場合、RepresentationModel には何も追加されず、派生 LinkRelation の空の埋め込みが追加されます。
      パラメーター:
      stream - null であってはなりません。
      relation - null であってはなりません。
      戻り値:
      null になることはありません。
    • preview

      public HalModelBuilder.PreviewBuilder preview(ObjectSE entity)
      現在のペイロードを指定してプレビューのセットアップを開始します。クライアントは、HalModelBuilder.PreviewBuilder.forLink(Link) メソッドのいずれかを呼び出してセットアップを終了する必要があります。例として、次の呼び出し チェーンは次のとおりです。
       ….preview(…).forLink("…", "relation")
       
      リンクが表現に追加され、埋め込みがリンクの関係に登録されます。
       {
         "_links" : {
           "relation" : { … }
         },
         "_embedded" : {
           "relation" : …
         }
       }
       
      パラメーター:
      entity -
      戻り値:
      null になることはありません。
    • preview

      public HalModelBuilder.PreviewBuilder preview(CollectionSE<?> collection)
      指定された CollectionSE のプレビューセットアップをプレビューとして開始します。
      パラメーター:
      collection -
      戻り値:
      null になることはありません。
      関連事項:
    • preview

      public HalModelBuilder.PreviewBuilder preview(CollectionSE<?> collection, ClassSE<?> type)
      CollectionSE が空の場合、指定された型にフォールバックするプレビューとして、指定された CollectionSE のプレビューセットアップを開始します。
      パラメーター:
      collection - null であってはなりません。
      type - null であってはなりません。
      戻り値:
      null になることはありません。
      関連事項:
    • link

      public HalModelBuilder link(Link link)
      全体に Link を追加。

      注: これにより、トップレベルに追加されます。エンティティ内にリンクが必要な場合は、HalModelBuilder を使用してそれも定義します。

      パラメーター:
      link - null であってはなりません。
      戻り値:
      null になることはありません。
    • link

      public HalModelBuilder link(StringSE href, LinkRelation relation)
      指定された href と LinkRelation を持つ Link をビルドする RepresentationModel に追加します。
      パラメーター:
      href - null であってはなりません。
      relation - null であってはなりません。
      戻り値:
      null になることはありません。
    • links

      public HalModelBuilder links(IterableSE<Link> links)
      指定された Link をビルドする RepresentationModel に追加します。
      パラメーター:
      links - null であってはなりません。
      戻り値:
      null になることはありません。
    • build

      public <T extends RepresentationModel<T>> RepresentationModel<T> build()
      エンティティと LinkRepresentationModel に変換します。埋め込みエントリがある場合は、優先メディア型 MediaTypes.HAL_JSON および MediaTypes.HAL_FORMS_JSON を追加します。
      戻り値:
      null になることはありません。