Class CachingResourceManager
- java.lang.Object
-
- io.undertow.server.handlers.resource.CachingResourceManager
-
- All Implemented Interfaces:
ResourceManager,java.io.Closeable,java.lang.AutoCloseable
public class CachingResourceManager extends java.lang.Object implements ResourceManager
- Author:
- Stuart Douglas
-
-
Field Summary
Fields Modifier and Type Field Description static intMAX_AGE_NO_CACHINGMax age 0, indicating that entries expire upon creation and are not retained;static intMAX_AGE_NO_EXPIRYMage age -1, this force manager to retain entries until underlying resource manager indicate that entries expired/changed-
Fields inherited from interface io.undertow.server.handlers.resource.ResourceManager
EMPTY_RESOURCE_MANAGER
-
-
Constructor Summary
Constructors Constructor Description CachingResourceManager(int metadataCacheSize, long maxFileSize, DirectBufferCache dataCache, ResourceManager underlyingResourceManager, int maxAge)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()intgetMaxAge()longgetMaxFileSize()CachedResourcegetResource(java.lang.String p)Returns a resource for the given path.voidinvalidate(java.lang.String path)booleanisResourceChangeListenerSupported()voidregisterResourceChangeListener(ResourceChangeListener listener)Registers a resource change listener, if the underlying resource manager support itvoidremoveResourceChangeListener(ResourceChangeListener listener)Removes a resource change listener
-
-
-
Field Detail
-
MAX_AGE_NO_CACHING
public static final int MAX_AGE_NO_CACHING
Max age 0, indicating that entries expire upon creation and are not retained;- See Also:
- Constant Field Values
-
MAX_AGE_NO_EXPIRY
public static final int MAX_AGE_NO_EXPIRY
Mage age -1, this force manager to retain entries until underlying resource manager indicate that entries expired/changed- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CachingResourceManager
public CachingResourceManager(int metadataCacheSize, long maxFileSize, DirectBufferCache dataCache, ResourceManager underlyingResourceManager, int maxAge)
-
-
Method Detail
-
getResource
public CachedResource getResource(java.lang.String p) throws java.io.IOException
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.
- Throws:
java.io.IOException
-
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
-
invalidate
public void invalidate(java.lang.String path)
-
getMaxFileSize
public long getMaxFileSize()
-
getMaxAge
public int getMaxAge()
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-