クラス YamlProcessor

java.lang.ObjectSE
org.springframework.beans.factory.config.YamlProcessor
既知の直属サブクラス
YamlMapFactoryBeanYamlPropertiesFactoryBean

public abstract class YamlProcessor extends ObjectSE
YAML ファクトリの基本クラス。

Spring Framework 6.1 以降、SnakeYAML 2.0 以降が必要です。

導入:
4.1
作成者:
Dave Syer, Juergen Hoeller, Sam Brannen, Brian Clozel
  • コンストラクターの詳細

    • YamlProcessor

      public YamlProcessor()
  • メソッドの詳細

    • setDocumentMatchers

      public void setDocumentMatchers(YamlProcessor.DocumentMatcher... matchers)
      発信者が YAML リソース内の一部のドキュメントのみを選択的に使用できるようにするドキュメントマッチャーのマップ。YAML では、ドキュメントは --- 行で区切られ、一致する前に各ドキュメントがプロパティに変換されます。例:
       environment: dev
       url: https://dev.bar.com
       name: Developer Setup
       ---
       environment: prod
       url:https://foo.bar.com
       name: My Cool App
       
      とマップされたとき
       setDocumentMatchers(properties ->
           ("prod".equals(properties.getProperty("environment")) ? MatchStatus.FOUND : MatchStatus.NOT_FOUND));
       
      最終的に
       environment=prod
       url=https://foo.bar.com
       name=My Cool App
       
    • setMatchDefault

      public void setMatchDefault(boolean matchDefault)
      それでも、すべての document matchers 棄権が一致するドキュメントが一致することを示すフラグ。デフォルトは true です。
    • setResolutionMethod

      public void setResolutionMethod(YamlProcessor.ResolutionMethod resolutionMethod)
      リソースを解決するために使用するメソッド。各リソースはマップに変換されるため、このプロパティは、このファクトリからの最終出力に保持するマップエントリを決定するために使用されます。デフォルトは YamlProcessor.ResolutionMethod.OVERRIDE です。
    • setResources

      public void setResources(Resource... resources)
      ロードする YAML resources の場所を設定します。
      関連事項:
    • setSupportedTypes

      public void setSupportedTypes(ClassSE<?>... supportedTypes)
      YAML ドキュメントからロードできるサポートされている型を設定します。

      サポートされる型が構成されていない場合は、YAML ドキュメント内で検出される Java 標準クラス ( SafeConstructor で定義されている) のみがサポートされます。サポートされていない型が見つかった場合、対応する YAML ノードが処理されるときに ComposerException がスローされます。

      パラメーター:
      supportedTypes - サポートされている型、またはサポートされている型をクリアする空の配列
      導入:
      5.1.16
      関連事項:
    • process

      protected void process(YamlProcessor.MatchCallback callback)
      サブクラスが提供されたリソースから解析された Yaml を処理する機会を提供します。各リソースは順番に解析され、内部のドキュメントが matchers に対してチェックされます。ドキュメントが一致する場合、プロパティとしての表現とともにコールバックに渡されます。setResolutionMethod(ResolutionMethod) によっては、すべてのドキュメントが解析されるわけではありません。
      パラメーター:
      callback - 一致するドキュメントが見つかったら委譲するコールバック
      関連事項:
    • createYaml

      protected org.yaml.snakeyaml.Yaml createYaml()
      使用する Yaml インスタンスを作成します。

      デフォルトの実装では、"allowDuplicateKeys" フラグが false に設定され、組み込みの重複キー処理が有効になります。

      カスタムのサポートされる型が構成されている場合、デフォルトの実装では、YAML ドキュメントで検出されたサポートされていない型をフィルターで除外する Yaml インスタンスが作成されます。サポートされていない型が見つかった場合、ノードの処理時に ComposerException がスローされます。

      関連事項:
      • LoaderOptions.setAllowDuplicateKeys(boolean)
    • getFlattenedMap

      protected final MapSE<StringSE,ObjectSE> getFlattenedMap(MapSE<StringSE,ObjectSE> source)
      指定されたマップのフラットバージョンを返します。ネストされたマップまたはコレクションの値を再帰的にたどります。結果のマップのエントリは、ソースと同じ順序を保持します。YamlProcessor.MatchCallback からマップを使用して呼び出すと、結果には YamlProcessor.MatchCallback プロパティと同じ値が含まれます。
      パラメーター:
      source - ソースマップ
      戻り値:
      平坦化された地図
      導入:
      4.1.3