クラス MojangsonPath

java.lang.Object
io.github.takenoko4096.mojangson.MojangsonPath

@NullMarked public final class MojangsonPath extends Object
mojangson構造の任意の位置にアクセスするためのパスを表現します。
  • メソッドの詳細

    • access

      public <T> @Nullable T access(MojangsonCompound mojangsonCompound, Function<MojangsonPath.MojangsonPathReference<?,?>, @Nullable T> function, boolean isForcedAccess) throws MojangsonPathUnableToAccessException
      任意のコンパウンド上の、このパスに対応する位置へのアクセスを提供します。
      型パラメータ:
      T - コールバックの戻り値の型。
      パラメータ:
      mojangsonCompound - 任意のコンパウンド。
      function - 参照を消費するコールバック関数。
      isForcedAccess - trueの場合、コンパウンドのキーに対する単純なアクセスに限り、キーが存在しなくてもその位置に空のコンパウンドを作成します。これにより強制的にアクセス処理の中断を回避します。
      戻り値:
      コールバックの戻り値をそのまま返します。何も返す必要がなければnullを返すことができます。
      例外:
      MojangsonPathUnableToAccessException - コンパウンドの構造との不整合によりアクセスできなかった場合。
    • length

      public int length()
      mojangsonパスの長さを返します。
      戻り値:
      mojangsonパスの長さ。例えば、 "foo.bar[0].baz" は4を返します。
    • slice

      public MojangsonPath slice(int begin, int end)
      mojangsonパスの部分パスを作成します。
      パラメータ:
      begin - 開始位置。
      end - 終了位置。この値は含まれません。
      戻り値:
      切り取られた部分パス。完全なコピーであり、元のオブジェクトとは関連しません。
    • parent

      public MojangsonPath parent()
      終端のアクセスを取り除いた新しいパスを返します。
      戻り値:
      slice(0, length() - 2) の結果に等しくなります。
    • toString

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

      public int hashCode()
      オーバーライド:
      hashCode クラス内 Object
    • equals

      public boolean equals(Object obj)
      オーバーライド:
      equals クラス内 Object
    • of

      public static MojangsonPath of(String path) throws MojangsonParseException
      文字列からmojangsonパスを作成します。
      パラメータ:
      path - mojangsonパス
      戻り値:
      mojangsonパスオブジェクト
      例外:
      MojangsonParseException - パスが不正な場合。