org.linkedin.util-core/src/main/java/org/linkedin/util/io/resource/internal/URLResourceProvider.java
@Override
  public InternalResource doBuildResource(String path)
  {
    try
    {
      URI uri = _baseURL.toURI();

      URI newURI = new URI(uri.getScheme(),
                           uri.getUserInfo(),
                           uri.getHost(),
                           uri.getPort(),
                           getFullPath(path),
                           null,
                           null);

      return new URLResource(this, path, newURI.toURL(), _connectTimeout, _readTimeout);
    }
    catch(URISyntaxException e)
    {
      // should not happen
      throw new RuntimeException(e);
    }
    catch(MalformedURLException e)
    {
      // should not happen
      throw new RuntimeException(e);
    }
  }
@Override
  public InternalResource doBuildResource(String path)
  {
    try
    {
      URI uri = _baseURL.toURI();

      URI newURI = new URI(uri.getScheme(),
                           uri.getUserInfo(),
                           uri.getHost(),
                           uri.getPort(),
                           getFullPath(path),
                           null,
                           null);

      return new URLResource(this, path, newURI.toURL(), _connectTimeout, _readTimeout);
    }
    catch(URISyntaxException e)
    {
      // should not happen
      throw new RuntimeException(e);
    }
    catch(MalformedURLException e)
    {
      // should not happen
      throw new RuntimeException(e);
    }
  }
@ Override public InternalResource doBuildResource ( String path ) { try { URI uri = _baseURL . toURI ( ) ; URI newURI = new URI ( uri . getScheme ( ) , uri . getUserInfo ( ) , uri . getHost ( ) , uri . getPort ( ) , getFullPath ( path ) , null , null ) ; return new URLResource ( this , path , newURI . toURL ( ) , _connectTimeout , _readTimeout ) ; } catch ( URISyntaxException e ) { // should not happen throw new RuntimeException ( e ) ; } catch ( MalformedURLException e ) { // should not happen throw new RuntimeException ( e ) ; } }
Builds a resource given a path. Only subclasses know how to do that.

@param path the path to the new resource (always starts with /)
@return the resource
Builds a resource given a path . Only subclasses know how to do that .