Class PathResourceManager
- java.lang.Object
-
- io.undertow.server.handlers.resource.PathResourceManager
-
- All Implemented Interfaces:
ResourceManager,java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
FileResourceManager
public class PathResourceManager extends java.lang.Object implements ResourceManager
Serves files from the file system.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPathResourceManager.Builderstatic interfacePathResourceManager.ETagFunction
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringbaseprotected java.nio.file.FileSystemfileSystem-
Fields inherited from interface io.undertow.server.handlers.resource.ResourceManager
EMPTY_RESOURCE_MANAGER
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedPathResourceManager(long transferMinSize, boolean caseSensitive, boolean followLinks, boolean allowResourceChangeListeners, java.lang.String... safePaths)protectedPathResourceManager(long transferMinSize, boolean caseSensitive, boolean followLinks, java.lang.String... safePaths)PathResourceManager(java.nio.file.Path base)PathResourceManager(java.nio.file.Path base, long transferMinSize)PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean caseSensitive)PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean caseSensitive, boolean followLinks, boolean allowResourceChangeListeners, java.lang.String... safePaths)PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean caseSensitive, boolean followLinks, java.lang.String... safePaths)PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean followLinks, java.lang.String... safePaths)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PathResourceManager.Builderbuilder()voidclose()java.nio.file.PathgetBasePath()protected PathResourcegetFileResource(java.nio.file.Path file, java.lang.String path, java.nio.file.Path symlinkBase, java.lang.String normalizedFile)Apply security check for case insensitive file systems.ResourcegetResource(java.lang.String p)Returns a resource for the given path.longgetTransferMinSize()booleanisResourceChangeListenerSupported()voidregisterResourceChangeListener(ResourceChangeListener listener)Registers a resource change listener, if the underlying resource manager support itvoidremoveResourceChangeListener(ResourceChangeListener listener)Removes a resource change listenerPathResourceManagersetBase(java.io.File base)PathResourceManagersetBase(java.nio.file.Path base)
-
-
-
Constructor Detail
-
PathResourceManager
public PathResourceManager(java.nio.file.Path base)
-
PathResourceManager
public PathResourceManager(java.nio.file.Path base, long transferMinSize)
-
PathResourceManager
public PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean caseSensitive)
-
PathResourceManager
public PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean followLinks, java.lang.String... safePaths)
-
PathResourceManager
protected PathResourceManager(long transferMinSize, boolean caseSensitive, boolean followLinks, java.lang.String... safePaths)
-
PathResourceManager
protected PathResourceManager(long transferMinSize, boolean caseSensitive, boolean followLinks, boolean allowResourceChangeListeners, java.lang.String... safePaths)
-
PathResourceManager
public PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean caseSensitive, boolean followLinks, java.lang.String... safePaths)
-
PathResourceManager
public PathResourceManager(java.nio.file.Path base, long transferMinSize, boolean caseSensitive, boolean followLinks, boolean allowResourceChangeListeners, java.lang.String... safePaths)
-
-
Method Detail
-
getBasePath
public java.nio.file.Path getBasePath()
-
setBase
public PathResourceManager setBase(java.nio.file.Path base)
-
setBase
public PathResourceManager setBase(java.io.File base)
-
getResource
public Resource getResource(java.lang.String p)
Description copied from interface:ResourceManagerReturns a resource for the given path. It is the responsibility of the called to make sure that the path in Canonicalised.- Specified by:
getResourcein interfaceResourceManager- Parameters:
p- The path- Returns:
- The resource representing the path, or null if no resource was found.
-
isResourceChangeListenerSupported
public boolean isResourceChangeListenerSupported()
- Specified by:
isResourceChangeListenerSupportedin interfaceResourceManager- Returns:
trueif a resource change listener is supported
-
registerResourceChangeListener
public void registerResourceChangeListener(ResourceChangeListener listener)
Description copied from interface:ResourceManagerRegisters a resource change listener, if the underlying resource manager support it- Specified by:
registerResourceChangeListenerin interfaceResourceManager- Parameters:
listener- The listener to register
-
removeResourceChangeListener
public void removeResourceChangeListener(ResourceChangeListener listener)
Description copied from interface:ResourceManagerRemoves a resource change listener- Specified by:
removeResourceChangeListenerin interfaceResourceManager
-
getTransferMinSize
public long getTransferMinSize()
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
getFileResource
protected PathResource getFileResource(java.nio.file.Path file, java.lang.String path, java.nio.file.Path symlinkBase, java.lang.String normalizedFile) throws java.io.IOException
Apply security check for case insensitive file systems.- Throws:
java.io.IOException
-
builder
public static PathResourceManager.Builder builder()
-
-