/** * Returns a URI which is recursively transformed from the URI of this * mount point so that it's absolute and hierarchical. * If this mount point is already in absolute and hierarchical form, its * URI gets returned. * <p> * For example, the mount point URIs {@code zip:file:/archive!/} and * {@code tar:file:/archive!/} would both produce the hierarchical URI * {@code file:/archive}. * * @return A URI which is recursively transformed from the URI of this * mount point so that it's absolute and hierarchical. */ public URI toHierarchicalUri() { final URI hierarchical = this.hierarchical; return null != hierarchical ? hierarchical : (this.hierarchical = uri.isOpaque() ? path.toHierarchicalUri() : uri); }
@Override public URI getUri() { URI n = getName(); String s = n.getScheme(); return new UriBuilder(getNodePath().toHierarchicalUri()) .scheme(null != s ? s : TFileSystemProvider.get(n).getScheme()) .toUri(); }
super(path.toHierarchicalUri()); parse(path, null != detector ? detector : TConfig.current().getArchiveDetector());
final URI baseUri = base.toHierarchicalUri().resolve(SEPARATOR_URI); final String authority = uri.getAuthority(); final String rootPath = null != authority || path.startsWith(SEPARATOR)