test_class.file: core/src/test/java/net/adamcin/oakpal/core/ForcedRootTest.java
test_class.identifier: ForcedRootTest
test_case.body: @Test
      public void testFromJson() {
          final ForcedRoot.JsonKeys keys = ForcedRoot.keys();
          final String path = "/correct/path";
          final String primaryType = "primaryType";
          final List<String> mixinTypes = Collections.singletonList("mixinType");
          final ForcedRoot rootEmpty = ForcedRoot.fromJson(obj().get());
          assertNull("empty root has null path", rootEmpty.getPath());
          assertNull("empty root has null primaryType", rootEmpty.getPrimaryType());
          assertTrue("empty root has empty mixinTypes", rootEmpty.getMixinTypes().isEmpty());
  
          final ForcedRoot rootPath = ForcedRoot.fromJson(
                  obj().key(keys.path(), path).get());
  
          assertEquals("path root has correct path", path, rootPath.getPath());
  
          final ForcedRoot rootPrimaryType = ForcedRoot.fromJson(
                  obj().key(keys.primaryType(), primaryType).get());
  
          assertEquals("primaryType root has correct primaryType",
                  primaryType, rootPrimaryType.getPrimaryType());
  
          final ForcedRoot rootMixinTypes = ForcedRoot.fromJson(
                  obj().key(keys.mixinTypes(), mixinTypes).get());
  
          assertEquals("mixinTypes root has correct mixinTypes",
                  mixinTypes, rootMixinTypes.getMixinTypes());
      }
test_case.class_method_signature: ForcedRootTest.testFromJson()
test_case.full_signature: @Test public void testFromJson()
test_case.identifier: testFromJson
test_case.invocations: keys singletonList fromJson get obj assertNull getPath assertNull getPrimaryType assertTrue isEmpty getMixinTypes fromJson get key obj path assertEquals getPath fromJson get key obj primaryType assertEquals getPrimaryType fromJson get key obj mixinTypes assertEquals getMixinTypes
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFromJson()
focal_class.declarator: KEYS = new JsonKeys() {
          @Override
          public String path() {
              return "path";
          }
  
          @Override
          public String primaryType() {
              return "primaryType";
          }
  
          @Override
          public String mixinTypes() {
              return "mixinTypes";
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final JsonKeys KEYS = new JsonKeys() {
          @Override
          public String path() {
              return "path";
          }
  
          @Override
          public String primaryType() {
              return "primaryType";
          }
  
          @Override
          public String mixinTypes() {
              return "mixinTypes";
          }
      };
focal_class.type: JsonKeys
focal_class.var_name: KEYS
focal_class.declarator: path
focal_class.modifier: @Nullable
      private
focal_class.original_string: @Nullable
      private String path;
focal_class.type: String
focal_class.var_name: path
focal_class.declarator: primaryType
focal_class.modifier: @Nullable
      private
focal_class.original_string: @Nullable
      private String primaryType;
focal_class.type: String
focal_class.var_name: primaryType
focal_class.declarator: mixinTypes = Collections.emptyList()
focal_class.modifier: @NotNull
      private
focal_class.original_string: @NotNull
      private List<String> mixinTypes = Collections.emptyList();
focal_class.type: List<String>
focal_class.var_name: mixinTypes
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/ForcedRoot.java
focal_class.identifier: ForcedRoot
focal_class.interfaces: implements JsonObjectConvertible, Comparable<ForcedRoot>
focal_class.class_method_signature: ForcedRoot.keys()
focal_class.full_signature: @NotNull public static ForcedRoot.JsonKeys keys()
focal_class.identifier: keys
focal_class.modifiers: @NotNull public static
focal_class.parameters: ()
focal_class.return: ForcedRoot.JsonKeys
focal_class.signature: ForcedRoot.JsonKeys keys()
focal_class.class_method_signature: ForcedRoot.getPath()
focal_class.full_signature: public @Nullable String getPath()
focal_class.identifier: getPath
focal_class.modifiers: public @Nullable
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPath()
focal_class.class_method_signature: ForcedRoot.setPath(final @Nullable String path)
focal_class.full_signature: public void setPath(final @Nullable String path)
focal_class.identifier: setPath
focal_class.modifiers: public
focal_class.parameters: (final @Nullable String path)
focal_class.return: void
focal_class.signature: void setPath(final @Nullable String path)
focal_class.class_method_signature: ForcedRoot.getPrimaryType()
focal_class.full_signature: public @Nullable String getPrimaryType()
focal_class.identifier: getPrimaryType
focal_class.modifiers: public @Nullable
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPrimaryType()
focal_class.class_method_signature: ForcedRoot.setPrimaryType(final @Nullable String primaryType)
focal_class.full_signature: public void setPrimaryType(final @Nullable String primaryType)
focal_class.identifier: setPrimaryType
focal_class.modifiers: public
focal_class.parameters: (final @Nullable String primaryType)
focal_class.return: void
focal_class.signature: void setPrimaryType(final @Nullable String primaryType)
focal_class.class_method_signature: ForcedRoot.getMixinTypes()
focal_class.full_signature: public @NotNull List<String> getMixinTypes()
focal_class.identifier: getMixinTypes
focal_class.modifiers: public @NotNull
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getMixinTypes()
focal_class.class_method_signature: ForcedRoot.setMixinTypes(final @Nullable List<String> mixinTypes)
focal_class.full_signature: public void setMixinTypes(final @Nullable List<String> mixinTypes)
focal_class.identifier: setMixinTypes
focal_class.modifiers: public
focal_class.parameters: (final @Nullable List<String> mixinTypes)
focal_class.return: void
focal_class.signature: void setMixinTypes(final @Nullable List<String> mixinTypes)
focal_class.class_method_signature: ForcedRoot.withPath(final @Nullable String path)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public ForcedRoot withPath(final @Nullable String path)
focal_class.identifier: withPath
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public
focal_class.parameters: (final @Nullable String path)
focal_class.return: ForcedRoot
focal_class.signature: ForcedRoot withPath(final @Nullable String path)
focal_class.class_method_signature: ForcedRoot.withPrimaryType(final @Nullable String primaryType)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public ForcedRoot withPrimaryType(final @Nullable String primaryType)
focal_class.identifier: withPrimaryType
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public
focal_class.parameters: (final @Nullable String primaryType)
focal_class.return: ForcedRoot
focal_class.signature: ForcedRoot withPrimaryType(final @Nullable String primaryType)
focal_class.class_method_signature: ForcedRoot.withMixinTypes(final @NotNull String... mixinTypes)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public ForcedRoot withMixinTypes(final @NotNull String... mixinTypes)
focal_class.identifier: withMixinTypes
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public
focal_class.parameters: (final @NotNull String... mixinTypes)
focal_class.return: ForcedRoot
focal_class.signature: ForcedRoot withMixinTypes(final @NotNull String... mixinTypes)
focal_class.class_method_signature: ForcedRoot.hasPath()
focal_class.full_signature: public final boolean hasPath()
focal_class.identifier: hasPath
focal_class.modifiers: public final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasPath()
focal_class.class_method_signature: ForcedRoot.fromJson(final @NotNull JsonObject json)
focal_class.full_signature: public static @NotNull ForcedRoot fromJson(final @NotNull JsonObject json)
focal_class.identifier: fromJson
focal_class.modifiers: public static @NotNull
focal_class.parameters: (final @NotNull JsonObject json)
focal_class.return: ForcedRoot
focal_class.signature: ForcedRoot fromJson(final @NotNull JsonObject json)
focal_class.class_method_signature: ForcedRoot.getNamespacePrefixes()
focal_class.full_signature: public @NotNull String[] getNamespacePrefixes()
focal_class.identifier: getNamespacePrefixes
focal_class.modifiers: public @NotNull
focal_class.parameters: ()
focal_class.return: String[]
focal_class.signature: String[] getNamespacePrefixes()
focal_class.class_method_signature: ForcedRoot.toJson()
focal_class.full_signature: @Override public JsonObject toJson()
focal_class.identifier: toJson
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonObject
focal_class.signature: JsonObject toJson()
focal_class.class_method_signature: ForcedRoot.compareTo(final @NotNull ForcedRoot o)
focal_class.full_signature: @Override public int compareTo(final @NotNull ForcedRoot o)
focal_class.identifier: compareTo
focal_class.modifiers: @Override public
focal_class.parameters: (final @NotNull ForcedRoot o)
focal_class.return: int
focal_class.signature: int compareTo(final @NotNull ForcedRoot o)
focal_class.class_method_signature: ForcedRoot.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: ForcedRoot.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: ForcedRoot.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public static @NotNull ForcedRoot fromJson(final @NotNull JsonObject json) {
          final JsonKeys keys = keys();
          final ForcedRoot forcedRoot = new ForcedRoot();
          if (json.containsKey(keys.path())) {
              forcedRoot.setPath(json.getString(keys.path()));
          }
          if (json.containsKey(keys.primaryType())) {
              forcedRoot.setPrimaryType(json.getString(keys.primaryType()));
          }
          optArray(json, keys.mixinTypes()).ifPresent(jsonArray -> {
              forcedRoot.setMixinTypes(mapArrayOfStrings(jsonArray, Function.identity()));
          });
          return forcedRoot;
      }
focal_method.class_method_signature: ForcedRoot.fromJson(final @NotNull JsonObject json)
focal_method.full_signature: public static @NotNull ForcedRoot fromJson(final @NotNull JsonObject json)
focal_method.identifier: fromJson
focal_method.invocations: keys containsKey path setPath getString path containsKey primaryType setPrimaryType getString primaryType ifPresent optArray mixinTypes setMixinTypes mapArrayOfStrings identity
focal_method.modifiers: public static @NotNull
focal_method.parameters: (final @NotNull JsonObject json)
focal_method.return: ForcedRoot
focal_method.signature: ForcedRoot fromJson(final @NotNull JsonObject json)