Class JsonUtils

java.lang.Object
org.jlab.utils.JsonUtils

public class JsonUtils extends Object
Stuff to read and manipulate HIPO banks with JSON objects.
Author:
baltzell
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
     
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    static org.jlab.jnp.utils.json.JsonObject
    add(org.jlab.jnp.utils.json.JsonObject a, org.jlab.jnp.utils.json.JsonObject b)
    JsonObject's merge method overwrites keys of the same name, this extends.
    static DataBank
    create(DataEvent event, String bankName, String varName, Map json)
    Convenience method to create a bank containing a JsonObject.
    static DataBank
    create(DataEvent event, String bankName, String varName, org.jlab.jnp.utils.json.JsonObject json)
    Convenience method to create a bank containing a JsonObject.
    static DataBank
    create(DataEvent event, String bankName, String varName, org.json.JSONObject json)
    Convenience method to create a bank containing a JsonObject.
    static DataBank
    extend(DataEvent event, String bankName, String varName, Map<String,Object> extension)
    Modify event by extending bank by merging new JSON data to existing.
    static DataBank
    extend(DataEvent event, String bankName, String varName, org.jlab.jnp.utils.json.JsonObject extension)
    Modify event by extending bank by merging new JSON data to existing.
    static DataBank
    extend(DataEvent event, String bankName, String varName, org.json.JSONObject extension)
    Modify event by extending bank by merging new JSON data to existing.
    static DataBank
    fill(DataBank bank, String varName, String contents)
    This won't be useful once DataBank.setByte(String,byte[]) is implemented
    static org.jlab.jnp.utils.json.JsonObject
    JSON2Json(org.json.JSONObject json)
    Convert from Map to JNP's JsonObject
    static void
    main(String[] args)
     
    static org.jlab.jnp.utils.json.JsonObject
    Convert a map to JNP's JsonObject WARNING: presumably not generic to extended JSONs, but sufficient for configuration sections of CLARA YAMLs.
    static org.jlab.jnp.utils.json.JsonObject
    read(DataBank bank, String varName)
    Convenience method to get a JsonObject from a bank.
    static org.jlab.jnp.utils.json.JsonObject
    read(org.jlab.jnp.hipo4.data.Bank bank, String varName)
     
    static void
    show(DataBank bank, String varName)
    Just print it to the screen, nicely.
    static void
    show(org.jlab.jnp.hipo4.data.Bank bank, String varName)
    Just print it to the screen, nicely.
    static void
    show(org.jlab.jnp.utils.json.JsonObject json)
    Just print it to the screen, nicely.
    static void
    show(org.json.JSONObject json)
    Just print it to the screen, nicely.

    Methods inherited from class java.lang.Object Link icon

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details Link icon

    • JsonUtils Link icon

      public JsonUtils()
  • Method Details Link icon

    • show Link icon

      public static void show(org.jlab.jnp.utils.json.JsonObject json)
      Just print it to the screen, nicely.
      Parameters:
      json -
    • show Link icon

      public static void show(org.json.JSONObject json)
      Just print it to the screen, nicely.
      Parameters:
      json -
    • show Link icon

      public static void show(DataBank bank, String varName)
      Just print it to the screen, nicely.
      Parameters:
      bank -
      varName -
    • show Link icon

      public static void show(org.jlab.jnp.hipo4.data.Bank bank, String varName)
      Just print it to the screen, nicely.
      Parameters:
      bank -
      varName -
    • read Link icon

      public static org.jlab.jnp.utils.json.JsonObject read(DataBank bank, String varName)
      Convenience method to get a JsonObject from a bank.
      Parameters:
      bank - bank to read
      varName - name of byte variable to read
      Returns:
      JSON generated from array of bytes
    • read Link icon

      public static org.jlab.jnp.utils.json.JsonObject read(org.jlab.jnp.hipo4.data.Bank bank, String varName)
    • fill Link icon

      public static DataBank fill(DataBank bank, String varName, String contents)
      This won't be useful once DataBank.setByte(String,byte[]) is implemented
      Parameters:
      bank - bank to modify
      varName - name of bank byte variable to modify
      contents - contents of the variable, one byte per row
      Returns:
      the input bank after modification
    • Map2Json Link icon

      public static org.jlab.jnp.utils.json.JsonObject Map2Json(Map<String,Object> map)
      Convert a map to JNP's JsonObject WARNING: presumably not generic to extended JSONs, but sufficient for configuration sections of CLARA YAMLs.
      Parameters:
      map -
      Returns:
    • JSON2Json Link icon

      public static org.jlab.jnp.utils.json.JsonObject JSON2Json(org.json.JSONObject json)
      Convert from Map to JNP's JsonObject
      Parameters:
      json - an org.json.JSONObject
      Returns:
      the corresponding org.jlab.jnp.utils.json.JsonObject
    • create Link icon

      public static DataBank create(DataEvent event, String bankName, String varName, org.jlab.jnp.utils.json.JsonObject json)
      Convenience method to create a bank containing a JsonObject.
      Parameters:
      event - event used to generate the bank
      bankName - name of bank to create
      varName - name of variable to put the JSON object in
      json - contents for the variable
      Returns:
      new bank
    • create Link icon

      public static DataBank create(DataEvent event, String bankName, String varName, org.json.JSONObject json)
      Convenience method to create a bank containing a JsonObject.
      Parameters:
      event - event used to generate the bank
      bankName - name of bank to create
      varName - name of variable to put the JSON object in
      json - contents for the variable
      Returns:
      new bank
    • create Link icon

      public static DataBank create(DataEvent event, String bankName, String varName, Map json)
      Convenience method to create a bank containing a JsonObject.
      Parameters:
      event - event used to generate the bank
      bankName - name of bank to create
      varName - name of variable to put the JSON object in
      json - contents for the variable
      Returns:
      new bank
    • add Link icon

      public static org.jlab.jnp.utils.json.JsonObject add(org.jlab.jnp.utils.json.JsonObject a, org.jlab.jnp.utils.json.JsonObject b)
      JsonObject's merge method overwrites keys of the same name, this extends. WARNING: presumably not generic to extended JSONs, but sufficient for configuration sections of CLARA YAMLs.
      Parameters:
      a -
      b -
      Returns:
      a+b
    • extend Link icon

      public static DataBank extend(DataEvent event, String bankName, String varName, org.jlab.jnp.utils.json.JsonObject extension)
      Modify event by extending bank by merging new JSON data to existing. If bank doesn't exist, create it.
      Parameters:
      event - event to get the bank from and put it back into
      bankName - name of bank
      varName - name of variable within bank
      extension - JSON object to extend with
      Returns:
    • extend Link icon

      public static DataBank extend(DataEvent event, String bankName, String varName, org.json.JSONObject extension)
      Modify event by extending bank by merging new JSON data to existing. If bank doesn't exist, create it.
      Parameters:
      event - event to get the bank from and put it back into
      bankName - name of bank
      varName - name of variable within bank
      extension - JSON object to extend with
      Returns:
    • extend Link icon

      public static DataBank extend(DataEvent event, String bankName, String varName, Map<String,Object> extension)
      Modify event by extending bank by merging new JSON data to existing. If bank doesn't exist, create it.
      Parameters:
      event - event to get the bank from and put it back into
      bankName - name of bank
      varName - name of variable within bank
      extension - JSON object to extend with
      Returns:
    • main Link icon

      public static void main(String[] args)