Class URIResolver

java.lang.Object
io.nosqlbench.nb.api.nbio.URIResolver
All Implemented Interfaces:
ContentResolver

public class URIResolver extends Object implements ContentResolver
This is a stateful search object for resources like Paths or URLs. It provides the abilitiy to look for URIs in any form, with simple pluggable search back-ends, in some preferential order.
  • Constructor Details

    • URIResolver

      public URIResolver()
  • Method Details

    • all

      public URIResolver all()
      Include resources from all known places, including remote URLs, the local default filesystem, and the classpath, which includes the jars that hold the current runtime application.
      Returns:
      this URISearch
    • inFS

      public URIResolver inFS()
      Includ resources in the default filesystem
      Returns:
      this URISearch
    • inURLs

      public URIResolver inURLs()
      Include resources in remote URLs
      Returns:
      this URISearch
    • inCP

      public URIResolver inCP()
      Include resources within the classpath.
      Returns:
      this URISearch
    • inNBIOCache

      public URIResolver inNBIOCache()
      Include resources within the NBIO cache or download them if they are not found.
      Returns:
      this URISearch
    • resolve

      public List<Content<?>> resolve(String uri)
      Specified by:
      resolve in interface ContentResolver
    • resolveDirectory

      public List<Path> resolveDirectory(URI uri)
      Description copied from interface: ContentResolver
      Return a list of matching directory Paths for the URI which are accessible under the scheme of the implementing resolver. It is possible that a logical path can return more than one physical directory path, such as with jar files.
      Specified by:
      resolveDirectory in interface ContentResolver
      Parameters:
      uri -
      Returns:
      A list of accessible paths matching the uri, or an empty list
    • resolve

      public List<Content<?>> resolve(URI uri)
      Description copied from interface: ContentResolver
      Locate the content referenced by the specified name. Content is any URL or file path which contains data to be loaded.

      Implementors should take care to ensure the following conditions are met:

      • For URL style content, resolution is only successful if a stream to download the content is acquired.
      • For file paths, resolution is only successful if the filesystem does a standard access check for readability of a file that is present.
      A content resolver may be given a path which is fundamentally incompatible with the schemes supported by the resolver implementation. It is required that the resolver return null for such URI values.
      Specified by:
      resolve in interface ContentResolver
      Parameters:
      uri - The URI of a content location, like a file name or URL.
      Returns:
      A content element which may then be used to access the content
    • resolveAll

      public List<Content<?>> resolveAll(String uri)
    • resolveAll

      public List<Content<?>> resolveAll(URI uri)
    • extension

      public URIResolver extension(String extension)
    • extraPaths

      public URIResolver extraPaths(String extraPath)
    • resolveOneOptionally

      public Optional<Content<?>> resolveOneOptionally(String candidatePath)
    • resolveOne

      public Content<?> resolveOne(String candidatePath)
    • toString

      public String toString()
      Overrides:
      toString in class Object