public abstract class YamlProcessor extends ObjectSE
Spring Framework 5.0.6 以降、SnakeYAML 1.18 以降が必要です。
修飾子と型 | クラスと説明 |
---|---|
static interface | YamlProcessor.DocumentMatcher プロパティが一致するかどうかをテストするために使用される戦略インターフェース。 |
static interface | YamlProcessor.MatchCallback YAML 解析結果の処理に使用されるコールバックインターフェース。 |
static class | YamlProcessor.MatchStatus |
static class | YamlProcessor.ResolutionMethod リソースを解決するために使用するメソッド。 |
コンストラクターと説明 |
---|
YamlProcessor() |
修飾子と型 | メソッドと説明 |
---|---|
protected org.yaml.snakeyaml.Yaml | createYaml() 使用する Yaml インスタンスを作成します。 |
protected MapSE<StringSE, ObjectSE> | getFlattenedMap(MapSE<StringSE, ObjectSE> source) 指定されたマップのフラットバージョンを返します。ネストされたマップまたはコレクションの値を再帰的にたどります。 |
protected void | process(YamlProcessor.MatchCallback callback) 提供されたリソースから解析された Yaml をサブクラスが処理する機会を提供します。 |
void | setDocumentMatchers(YamlProcessor.DocumentMatcher... matchers) 発信者が YAML リソース内の一部のドキュメントのみを選択的に使用できるようにするドキュメントマッチャーのマップ。 |
void | setMatchDefault(boolean matchDefault) それでも、すべての document matchers 棄権が一致するドキュメントが一致することを示すフラグ。 |
void | setResolutionMethod(YamlProcessor.ResolutionMethod resolutionMethod) リソースを解決するために使用するメソッド。 |
void | setResources(Resource... resources) ロードする YAML resources の場所を設定します。 |
void | setSupportedTypes(ClassSE<?>... supportedTypes) YAML ドキュメントからロードできるサポートされている型を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setDocumentMatchers(YamlProcessor.DocumentMatcher... matchers)
---
行で区切られ、一致する前に各ドキュメントがプロパティに変換されます。例: 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
public void setMatchDefault(boolean matchDefault)
document matchers
棄権が一致するドキュメントが一致することを示すフラグ。デフォルトは true
です。public void setResolutionMethod(YamlProcessor.ResolutionMethod resolutionMethod)
YamlProcessor.ResolutionMethod.OVERRIDE
です。public void setSupportedTypes(ClassSE<?>... supportedTypes)
サポートされている型が構成されていない場合、YAML ドキュメントで検出された Java 標準クラス(SafeConstructor
で定義されている)のみがサポートされます。サポートされていない型が検出された場合、対応する YAML ノードが処理されるときに IllegalStateException
SE がスローされます。
supportedTypes
- サポートされている型、またはサポートされている型をクリアする空の配列 createYaml()
protected void process(YamlProcessor.MatchCallback callback)
matchers
に対してチェックされます。ドキュメントが一致する場合、プロパティとしての表現とともにコールバックに渡されます。setResolutionMethod(ResolutionMethod)
によっては、すべてのドキュメントが解析されるわけではありません。callback
- 一致するドキュメントが見つかったら委譲するコールバック createYaml()
protected org.yaml.snakeyaml.Yaml createYaml()
Yaml
インスタンスを作成します。 デフォルトの実装では、"allowDuplicateKeys" フラグが false
に設定され、SnakeYAML 1.18+ に組み込まれた重複キー処理が有効になります。
Spring Framework 5.1.16 の時点で、カスタムでサポートされている型が構成されている場合、デフォルトの実装では、YAML ドキュメントで検出されたサポートされていない型を除外する Yaml
インスタンスが作成されます。サポートされていない型が検出された場合、ノードの処理時に IllegalStateException
SE がスローされます。
LoaderOptions.setAllowDuplicateKeys(boolean)
protected final MapSE<StringSE,ObjectSE> getFlattenedMap(MapSE<StringSE,ObjectSE> source)
YamlProcessor.MatchCallback
からマップを使用して呼び出すと、結果には YamlProcessor.MatchCallback
プロパティと同じ値が含まれます。source
- ソースマップ