Class URLResource

java.lang.Object
org.eclipse.jetty.util.resource.Resource
org.eclipse.jetty.util.resource.URLResource
All Implemented Interfaces:
Closeable, AutoCloseable, ResourceFactory
Direct Known Subclasses:
JarResource

public class URLResource extends Resource
URL resource class.
  • Field Details

  • Constructor Details

    • URLResource

      protected URLResource(URL url, URLConnection connection)
    • URLResource

      protected URLResource(URL url, URLConnection connection, boolean useCaches)
  • Method Details

    • checkConnection

      protected boolean checkConnection()
    • close

      public void close()
      Release any resources held by the resource.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Resource
    • exists

      public boolean exists()
      Returns true if the represented resource exists.
      Specified by:
      exists in class Resource
      Returns:
      true if the represented resource exists.
    • isDirectory

      public boolean isDirectory()
      Specified by:
      isDirectory in class Resource
      Returns:
      true if the represented resource is a container/directory.
    • lastModified

      public long lastModified()
      Returns the last modified time
      Specified by:
      lastModified in class Resource
      Returns:
      the last modified time as milliseconds since unix epoch
    • length

      public long length()
      Return the length of the resource
      Specified by:
      length in class Resource
      Returns:
      the length of the resource
    • getURI

      public URI getURI()
      Returns a URI representing the given resource
      Specified by:
      getURI in class Resource
      Returns:
      an URI representing the given resource
    • getFile

      public File getFile() throws IOException
      Returns an File representing the given resource or NULL if this is not possible.
      Specified by:
      getFile in class Resource
      Returns:
      an File representing the given resource or NULL if this is not possible.
      Throws:
      IOException - if unable to get the resource due to permissions
    • getName

      public String getName()
      Returns the name of the resource
      Specified by:
      getName in class Resource
      Returns:
      the name of the resource
    • getInputStream

      public InputStream getInputStream() throws IOException
      Returns an input stream to the resource. The underlying url connection will be nulled out to prevent re-use.
      Specified by:
      getInputStream in class Resource
      Returns:
      an input stream to the resource
      Throws:
      IOException - if unable to open the input stream
    • getInputStream

      protected InputStream getInputStream(boolean resetConnection) throws IOException
      Returns an input stream to the resource, optionally nulling out the underlying url connection. If the connection is not nulled out, a subsequent call to getInputStream() may return an existing and already in-use input stream - this depends on the url protocol. Eg JarURLConnection does not reuse inputstreams.
      Parameters:
      resetConnection - if true the connection field is set to null
      Returns:
      the inputstream for this resource
      Throws:
      IOException - if unable to open the input stream
    • getReadableByteChannel

      public ReadableByteChannel getReadableByteChannel() throws IOException
      Description copied from class: Resource
      Readable ByteChannel for the resource.
      Specified by:
      getReadableByteChannel in class Resource
      Returns:
      an readable bytechannel to the resource or null if one is not available.
      Throws:
      IOException - if unable to open the readable bytechannel for the resource.
    • delete

      public boolean delete() throws SecurityException
      Deletes the given resource
      Specified by:
      delete in class Resource
      Returns:
      true if resource was found and successfully deleted, false if resource didn't exist or was unable to be deleted.
      Throws:
      SecurityException - if unable to delete due to permissions
    • renameTo

      public boolean renameTo(Resource dest) throws SecurityException
      Rename the given resource
      Specified by:
      renameTo in class Resource
      Parameters:
      dest - the destination name for the resource
      Returns:
      true if the resource was renamed, false if the resource didn't exist or was unable to be renamed.
      Throws:
      SecurityException - if unable to rename due to permissions
    • list

      public String[] list()
      Returns a list of resource names contained in the given resource
      Specified by:
      list in class Resource
      Returns:
      a list of resource names contained in the given resource, or null. Note: The resource names are not URL encoded.
    • addPath

      public Resource addPath(String path) throws IOException
      Returns the resource contained inside the current resource with the given name
      Specified by:
      addPath in class Resource
      Parameters:
      path - The path segment to add, which is not encoded. The path may be non canonical, but if so then the resulting Resource will return true from Resource.isAlias().
      Returns:
      the Resource for the resolved path within this Resource, never null
      Throws:
      IOException - if unable to resolve the path
      MalformedURLException - if the resolution of the path fails because the input path parameter is malformed, or a relative path attempts to access above the root resource.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • getUseCaches

      public boolean getUseCaches()
    • isContainedIn

      public boolean isContainedIn(Resource containingResource) throws MalformedURLException
      Specified by:
      isContainedIn in class Resource
      Throws:
      MalformedURLException