Class MapObject

Object
MapObject
Direct Known Subclasses:
SpecParams

public class MapObject extends Object
A wrapper for a Map-based structure. It is a wrapper around JSONObject, which is a wrapper around Map. Compensating some of the JSONObject deficiencies. Made all methods optional. todo maybe get rid of using JSONObject - depends on the further development and usage Problems: 1. If underlying map contains another Map as a value, JSONObject.getObject() won't return JSONObject. 2. Awkward iteration of keys in JSONObject
  • Field Details

    • EMPTY

      public static final MapObject EMPTY
    • MAP_OBJECT_ARRAY_EXTRACTOR

      public static final BiFunction<JSONArray,Integer,MapObject> MAP_OBJECT_ARRAY_EXTRACTOR
    • myObject

      @NotNull protected final JSONObject myObject
    • myMapView

      protected Map<String,Object> myMapView
  • Constructor Details

    • MapObject

      public MapObject(JSONObject object)
    • MapObject

      public MapObject(Map<String,Object> map)
  • Method Details

    • from

      public static MapObject from(Object obj)
    • transform

      public static <T> List<T> transform(JSONArray array, BiFunction<JSONArray,Integer,T> extractor)
    • isEmpty

      public boolean isEmpty()
    • has

      public boolean has(String key)
    • getObject

      @Nullable public MapObject getObject(String name)
      Parameters:
      name -
      Returns:
      sub-object at key or empty MapObject
    • traverse

      @NotNull public MapObject traverse(String name)
    • keys

      @NotNull public Iterable<String> keys()
    • get

      @Nullable public Object get(String key)
    • getString

      @Nullable public String getString(String key)
    • getLong

      public long getLong(String key)
    • getLong

      public long getLong(String key, long defaultValue)
    • getInt

      public int getInt(String key)
    • getInt

      public int getInt(String key, int defaultValue)
    • getBoolean

      public boolean getBoolean(String key)
    • getBoolean

      public boolean getBoolean(String key, boolean defaultValue)
    • getLongList

      @NotNull public List<Long> getLongList(@Nullable String key)
    • getIntList

      @NotNull public List<Integer> getIntList(@Nullable String key)
    • getStringList

      @NotNull public List<String> getStringList(@Nullable String key)
    • getRawObjectList

      @NotNull public List<Object> getRawObjectList(@Nullable String key)
    • getObjectList

      @NotNull public List<MapObject> getObjectList(@Nullable String key)
    • getList

      @NotNull public <T> List<T> getList(@Nullable String key, BiFunction<JSONArray,Integer,T> extractor)
    • asImmutableMap

      public Map<String,Object> asImmutableMap()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object