UriBuilder implements IBuilder<URI> { @NonNull public UriBuilder path(@Nullable String... path) { this.path = path; return this; } UriBuilder(@NonNull String scheme, @NonNull String host); @NonNull UriBuilder reset(); @NonNull UriBuilder path(@Nullable String... path); @NonNull UriBuilder query(@Nullable SortedMap<String, String> query); @NonNull UriBuilder fragment(@Nullable SortedMap<String, String> fragment); @NonNull String buildString(); @Override URI build(); @Nullable static String[] getPathArray(@NonNull URI uri); @Nullable static String[] getPathArray(@NonNull URI uri, int expectedSize); @Nullable static Map<String, String> getQueryMap(@NonNull URI uri); @Nullable static Map<String, String> getFragmentMap(@NonNull URI uri);  }
@Test public void testPath() { Assertions.assertThat(new UriBuilder(scheme, host).build().getRawPath()).isEmpty(); Assertions.assertThat(new UriBuilder(scheme, host).path(path).build().getRawPath()).isEqualTo(rawPath); }