@Override
    public String toUriPath(String root, Iterable<String> names, boolean directory) {
      StringBuilder builder = new StringBuilder();
      builder.append('/').append(root);
      for (String name : names) {
        builder.append('/').append(name);
      }
      if (directory) {
        builder.append('/');
      }
      return builder.toString();
    }
Arbitrary path type with $ as the root, / as the separator and \ as an alternate separator.
jimfs/src/test/java/com/google/common/jimfs/PathTypeTest.java