test_class.declarator: KEY_PREFIX = "prefix"
test_class.modifier: static final
test_class.original_string: static final String KEY_PREFIX = "prefix";
test_class.type: String
test_class.var_name: KEY_PREFIX
test_class.declarator: KEY_URI = "uri"
test_class.modifier: static final
test_class.original_string: static final String KEY_URI = "uri";
test_class.type: String
test_class.var_name: KEY_URI
test_class.file: api/src/test/java/net/adamcin/oakpal/api/JavaxJsonTest.java
test_class.identifier: JavaxJsonTest
test_case.body: @Test
      public void testKey() {
          boolean keyNull = false;
          try {
              key(null, "val");
          } catch (final NullPointerException e) {
              keyNull = true;
          }
          assertTrue("key(null, val) should throw NullPointerException", keyNull);
  
          assertEquals("key cursor getKey() returns input",
                  "foo", key("foo").getKey());
          assertEquals("key(key, val) is retrievable",
                  "bar", key("foo", "bar").get().getString("foo"));
          assertEquals("key(key, val).key(key2, val2) is retrievable",
                  "bar2", key("foo", "bar").key("foo2", "bar2").get().getString("foo2"));
          assertEquals("key(key).val(val) is retrievable",
                  "bar", key("foo").val("bar").get().getString("foo"));
          assertEquals("key(key).val(val).key(key2).val(val2) is retrievable",
                  "bar2", key("foo").val("bar").key("foo2").val("bar2").get().getString("foo2"));
  
          assertTrue("Key.toValue should return a JsonObject.",
                  key("foo", "bar").toValue().get() instanceof JsonObject);
          assertEquals("Key.toValue obj should have appropriate key.", "bar",
                  ((JsonObject) key("foo", "bar").toValue().get()).getString("foo"));
      }
test_case.class_method_signature: JavaxJsonTest.testKey()
test_case.full_signature: @Test public void testKey()
test_case.identifier: testKey
test_case.invocations: key assertTrue assertEquals getKey key assertEquals getString get key assertEquals getString get key key assertEquals getString get val key assertEquals getString get val key val key assertTrue get toValue key assertEquals getString get toValue key
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testKey()
focal_class.declarator: JSON_VALUE_STRING = compose1(JavaxJson::unwrap, Object::toString)
focal_class.modifier: @SuppressWarnings("WeakerAccess")
      public static final
focal_class.original_string: @SuppressWarnings("WeakerAccess")
      public static final Function<JsonValue, String> JSON_VALUE_STRING = compose1(JavaxJson::unwrap, Object::toString);
focal_class.type: Function<JsonValue, String>
focal_class.var_name: JSON_VALUE_STRING
focal_class.file: api/src/main/java/net/adamcin/oakpal/api/JavaxJson.java
focal_class.identifier: JavaxJson
focal_class.class_method_signature: JavaxJson.JavaxJson()
focal_class.full_signature: private  JavaxJson()
focal_class.identifier: JavaxJson
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  JavaxJson()
focal_class.class_method_signature: JavaxJson.nonEmptyValue(final @Nullable JsonValue value)
focal_class.full_signature: public static boolean nonEmptyValue(final @Nullable JsonValue value)
focal_class.identifier: nonEmptyValue
focal_class.modifiers: public static
focal_class.parameters: (final @Nullable JsonValue value)
focal_class.return: boolean
focal_class.signature: boolean nonEmptyValue(final @Nullable JsonValue value)
focal_class.class_method_signature: JavaxJson.nonDefaultValue(final @Nullable JsonValue value, final @NotNull JsonValue defaultValue)
focal_class.full_signature: public static boolean nonDefaultValue(final @Nullable JsonValue value, final @NotNull JsonValue defaultValue)
focal_class.identifier: nonDefaultValue
focal_class.modifiers: public static
focal_class.parameters: (final @Nullable JsonValue value, final @NotNull JsonValue defaultValue)
focal_class.return: boolean
focal_class.signature: boolean nonDefaultValue(final @Nullable JsonValue value, final @NotNull JsonValue defaultValue)
focal_class.class_method_signature: JavaxJson.wrap(final Object object)
focal_class.full_signature: public static JsonValue wrap(final Object object)
focal_class.identifier: wrap
focal_class.modifiers: public static
focal_class.parameters: (final Object object)
focal_class.return: JsonValue
focal_class.signature: JsonValue wrap(final Object object)
focal_class.class_method_signature: JavaxJson.unwrap(final JsonValue jsonValue)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static Object unwrap(final JsonValue jsonValue)
focal_class.identifier: unwrap
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final JsonValue jsonValue)
focal_class.return: Object
focal_class.signature: Object unwrap(final JsonValue jsonValue)
focal_class.class_method_signature: JavaxJson.unwrapObject(final JsonObject jsonObject)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static Map<String, Object> unwrapObject(final JsonObject jsonObject)
focal_class.identifier: unwrapObject
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final JsonObject jsonObject)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> unwrapObject(final JsonObject jsonObject)
focal_class.class_method_signature: JavaxJson.unwrapArray(final JsonArray jsonArray)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static List<Object> unwrapArray(final JsonArray jsonArray)
focal_class.identifier: unwrapArray
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final JsonArray jsonArray)
focal_class.return: List<Object>
focal_class.signature: List<Object> unwrapArray(final JsonArray jsonArray)
focal_class.class_method_signature: JavaxJson.shallowMergeObjects(final @Nullable JsonObject base,
                                                            final @Nullable JsonObject overlay)
focal_class.full_signature: public static @NotNull JsonObject shallowMergeObjects(final @Nullable JsonObject base,
                                                            final @Nullable JsonObject overlay)
focal_class.identifier: shallowMergeObjects
focal_class.modifiers: public static @NotNull
focal_class.parameters: (final @Nullable JsonObject base,
                                                            final @Nullable JsonObject overlay)
focal_class.return: JsonObject
focal_class.signature: JsonObject shallowMergeObjects(final @Nullable JsonObject base,
                                                            final @Nullable JsonObject overlay)
focal_class.class_method_signature: JavaxJson.val(Object value)
focal_class.full_signature: public static Value val(Object value)
focal_class.identifier: val
focal_class.modifiers: public static
focal_class.parameters: (Object value)
focal_class.return: Value
focal_class.signature: Value val(Object value)
focal_class.class_method_signature: JavaxJson.obj(final Key... keys)
focal_class.full_signature: public static Obj obj(final Key... keys)
focal_class.identifier: obj
focal_class.modifiers: public static
focal_class.parameters: (final Key... keys)
focal_class.return: Obj
focal_class.signature: Obj obj(final Key... keys)
focal_class.class_method_signature: JavaxJson.obj(final JsonObject jsonObject)
focal_class.full_signature: public static Obj obj(final JsonObject jsonObject)
focal_class.identifier: obj
focal_class.modifiers: public static
focal_class.parameters: (final JsonObject jsonObject)
focal_class.return: Obj
focal_class.signature: Obj obj(final JsonObject jsonObject)
focal_class.class_method_signature: JavaxJson.obj(final Map<?, ?> map)
focal_class.full_signature: public static Obj obj(final Map<?, ?> map)
focal_class.identifier: obj
focal_class.modifiers: public static
focal_class.parameters: (final Map<?, ?> map)
focal_class.return: Obj
focal_class.signature: Obj obj(final Map<?, ?> map)
focal_class.class_method_signature: JavaxJson.key(final String key, final Object value)
focal_class.full_signature: public static Key key(final String key, final Object value)
focal_class.identifier: key
focal_class.modifiers: public static
focal_class.parameters: (final String key, final Object value)
focal_class.return: Key
focal_class.signature: Key key(final String key, final Object value)
focal_class.class_method_signature: JavaxJson.key(final String key)
focal_class.full_signature: public static KeyCursor key(final String key)
focal_class.identifier: key
focal_class.modifiers: public static
focal_class.parameters: (final String key)
focal_class.return: KeyCursor
focal_class.signature: KeyCursor key(final String key)
focal_class.class_method_signature: JavaxJson.arr(Object... values)
focal_class.full_signature: public static Arr arr(Object... values)
focal_class.identifier: arr
focal_class.modifiers: public static
focal_class.parameters: (Object... values)
focal_class.return: Arr
focal_class.signature: Arr arr(Object... values)
focal_class.class_method_signature: JavaxJson.optObject(final JsonObject json, final String key)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static Optional<JsonObject> optObject(final JsonObject json, final String key)
focal_class.identifier: optObject
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final JsonObject json, final String key)
focal_class.return: Optional<JsonObject>
focal_class.signature: Optional<JsonObject> optObject(final JsonObject json, final String key)
focal_class.class_method_signature: JavaxJson.objectOrEmpty(final JsonObject json, final String key)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static JsonObject objectOrEmpty(final JsonObject json, final String key)
focal_class.identifier: objectOrEmpty
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final JsonObject json, final String key)
focal_class.return: JsonObject
focal_class.signature: JsonObject objectOrEmpty(final JsonObject json, final String key)
focal_class.class_method_signature: JavaxJson.optArray(final JsonObject json, final String key)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static Optional<JsonArray> optArray(final JsonObject json, final String key)
focal_class.identifier: optArray
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final JsonObject json, final String key)
focal_class.return: Optional<JsonArray>
focal_class.signature: Optional<JsonArray> optArray(final JsonObject json, final String key)
focal_class.class_method_signature: JavaxJson.arrayOrEmpty(final JsonObject json, final String key)
focal_class.full_signature: public static JsonArray arrayOrEmpty(final JsonObject json, final String key)
focal_class.identifier: arrayOrEmpty
focal_class.modifiers: public static
focal_class.parameters: (final JsonObject json, final String key)
focal_class.return: JsonArray
focal_class.signature: JsonArray arrayOrEmpty(final JsonObject json, final String key)
focal_class.class_method_signature: JavaxJson.mapArrayOfStrings(final JsonArray jsonArray)
focal_class.full_signature: public static List<String> mapArrayOfStrings(final JsonArray jsonArray)
focal_class.identifier: mapArrayOfStrings
focal_class.modifiers: public static
focal_class.parameters: (final JsonArray jsonArray)
focal_class.return: List<String>
focal_class.signature: List<String> mapArrayOfStrings(final JsonArray jsonArray)
focal_class.class_method_signature: JavaxJson.mapArrayOfStrings(final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction)
focal_class.full_signature: public static List<R> mapArrayOfStrings(final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction)
focal_class.identifier: mapArrayOfStrings
focal_class.modifiers: public static
focal_class.parameters: (final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction)
focal_class.return: List<R>
focal_class.signature: List<R> mapArrayOfStrings(final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction)
focal_class.class_method_signature: JavaxJson.mapArrayOfStrings(final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.full_signature: public static List<R> mapArrayOfStrings(final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.identifier: mapArrayOfStrings
focal_class.modifiers: public static
focal_class.parameters: (final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.return: List<R>
focal_class.signature: List<R> mapArrayOfStrings(final JsonArray jsonArray,
                                                  final Function<String, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.class_method_signature: JavaxJson.mapArrayOfObjects(final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction)
focal_class.full_signature: public static List<R> mapArrayOfObjects(final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction)
focal_class.identifier: mapArrayOfObjects
focal_class.modifiers: public static
focal_class.parameters: (final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction)
focal_class.return: List<R>
focal_class.signature: List<R> mapArrayOfObjects(final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction)
focal_class.class_method_signature: JavaxJson.mapArrayOfObjects(final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.full_signature: public static List<R> mapArrayOfObjects(final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.identifier: mapArrayOfObjects
focal_class.modifiers: public static
focal_class.parameters: (final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.return: List<R>
focal_class.signature: List<R> mapArrayOfObjects(final JsonArray jsonArray,
                                                  final Function<JsonObject, R> mapFunction,
                                                  final boolean discardNulls)
focal_class.class_method_signature: JavaxJson.mapObjectValues(final JsonObject jsonObject,
                                                final BiFunction<String, JsonObject, R> mapBiFunction,
                                                final boolean discardNulls)
focal_class.full_signature: public static List<R> mapObjectValues(final JsonObject jsonObject,
                                                final BiFunction<String, JsonObject, R> mapBiFunction,
                                                final boolean discardNulls)
focal_class.identifier: mapObjectValues
focal_class.modifiers: public static
focal_class.parameters: (final JsonObject jsonObject,
                                                final BiFunction<String, JsonObject, R> mapBiFunction,
                                                final boolean discardNulls)
focal_class.return: List<R>
focal_class.signature: List<R> mapObjectValues(final JsonObject jsonObject,
                                                final BiFunction<String, JsonObject, R> mapBiFunction,
                                                final boolean discardNulls)
focal_class.class_method_signature: JavaxJson.parseFromArray(final @NotNull JsonArray jsonArray,
                                               final @NotNull Fun.ThrowingFunction<String, R> parser,
                                               final @Nullable BiConsumer<String, Exception> errorConsumer)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public static List<R> parseFromArray(final @NotNull JsonArray jsonArray,
                                               final @NotNull Fun.ThrowingFunction<String, R> parser,
                                               final @Nullable BiConsumer<String, Exception> errorConsumer)
focal_class.identifier: parseFromArray
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public static
focal_class.parameters: (final @NotNull JsonArray jsonArray,
                                               final @NotNull Fun.ThrowingFunction<String, R> parser,
                                               final @Nullable BiConsumer<String, Exception> errorConsumer)
focal_class.return: List<R>
focal_class.signature: List<R> parseFromArray(final @NotNull JsonArray jsonArray,
                                               final @NotNull Fun.ThrowingFunction<String, R> parser,
                                               final @Nullable BiConsumer<String, Exception> errorConsumer)
focal_class.class_method_signature: JavaxJson.hasNonNull(final @NotNull JsonObject json, final String key)
focal_class.full_signature: public static boolean hasNonNull(final @NotNull JsonObject json, final String key)
focal_class.identifier: hasNonNull
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull JsonObject json, final String key)
focal_class.return: boolean
focal_class.signature: boolean hasNonNull(final @NotNull JsonObject json, final String key)
focal_method.body: public static Key key(final String key, final Object value) {
          return new Key(key, value);
      }
focal_method.class_method_signature: JavaxJson.key(final String key, final Object value)
focal_method.full_signature: public static Key key(final String key, final Object value)
focal_method.identifier: key
focal_method.modifiers: public static
focal_method.parameters: (final String key, final Object value)
focal_method.return: Key
focal_method.signature: Key key(final String key, final Object value)