クラス MojangsonPathNode<S extends MojangsonStructure, T>

java.lang.Object
io.github.takenoko4096.mojangson.MojangsonPathNode<S,T>
型パラメータ:
S - 親となるmojangson構造
T - 子アクセス
直系の既知のサブクラス:
MojangsonPathNode.ArrayIndexFinderNode, MojangsonPathNode.ArrayIndexNode, MojangsonPathNode.ObjectKeyCheckerNode, MojangsonPathNode.ObjectKeyNode

@NullMarked public abstract class MojangsonPathNode<S extends MojangsonStructure, T> extends Object
mojangsonパスを構成する各ノードを表現します。
  • フィールド詳細

    • parameter

      protected final T parameter
      子アクセスのためのキーまたは添え字。
    • child

      protected @Nullable MojangsonPathNode<?,?> child
      子ノード。
  • コンストラクタの詳細

    • MojangsonPathNode

      protected MojangsonPathNode(T parameter, @Nullable MojangsonPathNode<?,?> child)
  • メソッドの詳細

    • access

      public abstract <U> @Nullable U access(S structure, MojangsonLocationAccessProvider<S,U> function) throws MojangsonPathUnableToAccessException
      第一引数に渡された構造体そのまま、及びこのノードに対応する位置にアクセスするためのキーとなる値の2つを引数に取るラムダを受け取ります。各サブクラスにてチェックや検索等その他の処理が事前に行われることがあります。
      型パラメータ:
      U - コールバックの戻り値の型
      パラメータ:
      structure - 任意の構造体。
      function - コールバック。
      戻り値:
      コールバックの戻り値そのまま。
      例外:
      MojangsonPathUnableToAccessException - 構造との不整合によりアクセスできなかった場合。
    • copy

      public abstract MojangsonPathNode<S,T> copy()
      ノードのコピーを作成します。
      戻り値:
      ノードのディープコピー。
    • toString

      public abstract String toString()
      オーバーライド:
      toString クラス内 Object