Package org.eclipse.jetty.server
Class CachedContentFactory
- java.lang.Object
-
- org.eclipse.jetty.server.CachedContentFactory
-
- All Implemented Interfaces:
HttpContent.ContentFactory
public class CachedContentFactory extends java.lang.Object implements HttpContent.ContentFactory
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classCachedContentFactory.CachedHttpContentMetaData associated with a context Resource.classCachedContentFactory.CachedPrecompressedHttpContent
-
Constructor Summary
Constructors Constructor Description CachedContentFactory(CachedContentFactory parent, ResourceFactory factory, MimeTypes mimeTypes, boolean useFileMappedBuffer, boolean etags, CompressedContentFormat[] precompressedFormats)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidflushCache()intgetCachedFiles()intgetCachedSize()HttpContentgetContent(java.lang.String pathInContext, int maxBufferSize)Returns an entry from the cache, or creates a new one.protected java.nio.ByteBuffergetDirectBuffer(Resource resource)protected java.nio.ByteBuffergetIndirectBuffer(Resource resource)protected java.nio.ByteBuffergetMappedBuffer(Resource resource)intgetMaxCachedFiles()intgetMaxCachedFileSize()intgetMaxCacheSize()protected booleanisCacheable(Resource resource)booleanisUseFileMappedBuffer()HttpContentlookup(java.lang.String pathInContext)Deprecated.voidsetMaxCachedFiles(int maxCachedFiles)voidsetMaxCachedFileSize(int maxCachedFileSize)voidsetMaxCacheSize(int maxCacheSize)java.lang.StringtoString()
-
-
-
Constructor Detail
-
CachedContentFactory
public CachedContentFactory(CachedContentFactory parent, ResourceFactory factory, MimeTypes mimeTypes, boolean useFileMappedBuffer, boolean etags, CompressedContentFormat[] precompressedFormats)
Constructor.- Parameters:
parent- the parent resource cachefactory- the resource factorymimeTypes- Mimetype to use for meta datauseFileMappedBuffer- true to file memory mapped buffersetags- true to support etagsprecompressedFormats- array of precompression formats to support
-
-
Method Detail
-
getCachedSize
public int getCachedSize()
-
getCachedFiles
public int getCachedFiles()
-
getMaxCachedFileSize
public int getMaxCachedFileSize()
-
setMaxCachedFileSize
public void setMaxCachedFileSize(int maxCachedFileSize)
-
getMaxCacheSize
public int getMaxCacheSize()
-
setMaxCacheSize
public void setMaxCacheSize(int maxCacheSize)
-
getMaxCachedFiles
public int getMaxCachedFiles()
- Returns:
- the max number of cached files.
-
setMaxCachedFiles
public void setMaxCachedFiles(int maxCachedFiles)
- Parameters:
maxCachedFiles- the max number of cached files.
-
isUseFileMappedBuffer
public boolean isUseFileMappedBuffer()
-
flushCache
public void flushCache()
-
lookup
@Deprecated public HttpContent lookup(java.lang.String pathInContext) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
getContent
public HttpContent getContent(java.lang.String pathInContext, int maxBufferSize) throws java.io.IOException
Returns an entry from the cache, or creates a new one.
- Specified by:
getContentin interfaceHttpContent.ContentFactory- Parameters:
pathInContext- The key into the cachemaxBufferSize- The maximum buffer size allocated for this request. For cached content, a larger buffer may have previously been allocated and returned by theHttpContent.getDirectBuffer()orHttpContent.getIndirectBuffer()calls.- Returns:
- The entry matching
pathInContext, or a new entry if no matching entry was found. If the content exists but is not cacheable, then aResourceHttpContentinstance is returned. If the resource does not exist, then null is returned. - Throws:
java.io.IOException- if the resource cannot be retrieved
-
isCacheable
protected boolean isCacheable(Resource resource)
- Parameters:
resource- the resource to test- Returns:
- whether the resource is cacheable. The default implementation tests the cache sizes.
-
getIndirectBuffer
protected java.nio.ByteBuffer getIndirectBuffer(Resource resource)
-
getMappedBuffer
protected java.nio.ByteBuffer getMappedBuffer(Resource resource)
-
getDirectBuffer
protected java.nio.ByteBuffer getDirectBuffer(Resource resource)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-