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

    Constructors
    Constructor
    Description
     
  • Method Summary

    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

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

    • JsonUtils

      public JsonUtils()
  • Method Details

    • show

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

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

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

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

      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

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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      public static void main(String[] args)