Class ServletResource

  • All Implemented Interfaces:
    io.undertow.server.handlers.resource.RangeAwareResource, io.undertow.server.handlers.resource.Resource

    public class ServletResource
    extends Object
    implements io.undertow.server.handlers.resource.Resource, io.undertow.server.handlers.resource.RangeAwareResource
    Resource implementation that wraps an underlying resource, and overrides the list() method to take overlays into account.
    Author:
    Stuart Douglas
    • Constructor Detail

      • ServletResource

        public ServletResource​(ServletResourceManager resourceManager,
                               io.undertow.server.handlers.resource.Resource underlying)
    • Method Detail

      • getPath

        public String getPath()
        Specified by:
        getPath in interface io.undertow.server.handlers.resource.Resource
      • getLastModified

        public Date getLastModified()
        Specified by:
        getLastModified in interface io.undertow.server.handlers.resource.Resource
      • getLastModifiedString

        public String getLastModifiedString()
        Specified by:
        getLastModifiedString in interface io.undertow.server.handlers.resource.Resource
      • getETag

        public io.undertow.util.ETag getETag()
        Specified by:
        getETag in interface io.undertow.server.handlers.resource.Resource
      • getName

        public String getName()
        Specified by:
        getName in interface io.undertow.server.handlers.resource.Resource
      • isDirectory

        public boolean isDirectory()
        Specified by:
        isDirectory in interface io.undertow.server.handlers.resource.Resource
      • list

        public List<io.undertow.server.handlers.resource.Resource> list()
        Specified by:
        list in interface io.undertow.server.handlers.resource.Resource
      • getContentType

        public String getContentType​(io.undertow.util.MimeMappings mimeMappings)
        Specified by:
        getContentType in interface io.undertow.server.handlers.resource.Resource
      • serve

        public void serve​(io.undertow.io.Sender sender,
                          io.undertow.server.HttpServerExchange exchange,
                          io.undertow.io.IoCallback completionCallback)
        Specified by:
        serve in interface io.undertow.server.handlers.resource.Resource
      • getContentLength

        public Long getContentLength()
        Specified by:
        getContentLength in interface io.undertow.server.handlers.resource.Resource
      • getCacheKey

        public String getCacheKey()
        Specified by:
        getCacheKey in interface io.undertow.server.handlers.resource.Resource
      • getFile

        public File getFile()
        Specified by:
        getFile in interface io.undertow.server.handlers.resource.Resource
      • getResourceManagerRoot

        public File getResourceManagerRoot()
        Specified by:
        getResourceManagerRoot in interface io.undertow.server.handlers.resource.Resource
      • getUrl

        public URL getUrl()
        Specified by:
        getUrl in interface io.undertow.server.handlers.resource.Resource
      • getResourceManagerRootPath

        public Path getResourceManagerRootPath()
        Specified by:
        getResourceManagerRootPath in interface io.undertow.server.handlers.resource.Resource
      • getFilePath

        public Path getFilePath()
        Specified by:
        getFilePath in interface io.undertow.server.handlers.resource.Resource
      • serveRange

        public void serveRange​(io.undertow.io.Sender sender,
                               io.undertow.server.HttpServerExchange exchange,
                               long start,
                               long end,
                               io.undertow.io.IoCallback completionCallback)
        Specified by:
        serveRange in interface io.undertow.server.handlers.resource.RangeAwareResource
      • isRangeSupported

        public boolean isRangeSupported()
        Specified by:
        isRangeSupported in interface io.undertow.server.handlers.resource.RangeAwareResource