test_class.file: core/src/test/java/net/adamcin/oakpal/core/ForcedRootTest.java
test_class.identifier: ForcedRootTest
test_case.body: @Test
      public void testGetNamespacePrefixes() {
          final ForcedRoot emptyRoot = new ForcedRoot();
          assertArrayEquals("expect prefixes", new String[0],
                  emptyRoot.getNamespacePrefixes());
  
          final ForcedRoot noPrefixRoot = new ForcedRoot()
                  .withPath("path")
                  .withPrimaryType("type")
                  .withMixinTypes("mixinType");
  
          assertArrayEquals("expect prefixes", new String[0],
                  noPrefixRoot.getNamespacePrefixes());
  
          final ForcedRoot root = new ForcedRoot()
                  .withPath("foo:path")
                  .withPrimaryType("bar:type")
                  .withMixinTypes("foobar:type");
  
          assertArrayEquals("expect prefixes", new String[]{"foo", "bar", "foobar"},
                  root.getNamespacePrefixes());
      }
test_case.class_method_signature: ForcedRootTest.testGetNamespacePrefixes()
test_case.full_signature: @Test public void testGetNamespacePrefixes()
test_case.identifier: testGetNamespacePrefixes
test_case.invocations: assertArrayEquals getNamespacePrefixes withMixinTypes withPrimaryType withPath assertArrayEquals getNamespacePrefixes withMixinTypes withPrimaryType withPath assertArrayEquals getNamespacePrefixes
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetNamespacePrefixes()
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 @NotNull String[] getNamespacePrefixes() {
          return Stream.concat(
                  streamIt(path).flatMap(path ->
                          Stream.of(path.split("/"))
                                  .filter(inferTest1(String::isEmpty).negate())
                                  .flatMap(JsonCnd::streamNsPrefix)),
                  Stream.concat(
                          streamIt(primaryType).flatMap(JsonCnd::streamNsPrefix),
                          mixinTypes.stream().flatMap(JsonCnd::streamNsPrefix)))
                  .toArray(String[]::new);
      }
focal_method.class_method_signature: ForcedRoot.getNamespacePrefixes()
focal_method.full_signature: public @NotNull String[] getNamespacePrefixes()
focal_method.identifier: getNamespacePrefixes
focal_method.invocations: toArray concat flatMap streamIt flatMap filter of split negate inferTest1 concat flatMap streamIt flatMap stream
focal_method.modifiers: public @NotNull
focal_method.parameters: ()
focal_method.return: String[]
focal_method.signature: String[] getNamespacePrefixes()