Package org.eclipse.jetty.server
Class CachedContentFactory
java.lang.Object
org.eclipse.jetty.server.CachedContentFactory
- All Implemented Interfaces:
HttpContent.ContentFactory
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassMetaData associated with a context Resource.class -
Constructor Summary
ConstructorsConstructorDescriptionCachedContentFactory(CachedContentFactory parent, ResourceFactory factory, MimeTypes mimeTypes, boolean useFileMappedBuffer, boolean etags, CompressedContentFormat[] precompressedFormats) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidintintgetContent(String pathInContext, int maxBufferSize) Returns an entry from the cache, or creates a new one.protected ByteBuffergetDirectBuffer(Resource resource) protected ByteBuffergetIndirectBuffer(Resource resource) protected ByteBuffergetMappedBuffer(Resource resource) intintintprotected booleanisCacheable(Resource resource) booleanvoidsetMaxCachedFiles(int maxCachedFiles) voidsetMaxCachedFileSize(int maxCachedFileSize) voidsetMaxCacheSize(int maxCacheSize) toString()
-
Constructor Details
-
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 Details
-
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() -
getContent
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:
IOException- if the resource cannot be retrieved
-
isCacheable
- Parameters:
resource- the resource to test- Returns:
- whether the resource is cacheable. The default implementation tests the cache sizes.
-
getIndirectBuffer
-
getMappedBuffer
-
getDirectBuffer
-
toString
-