| java.lang.Object org.opencms.flex.CmsFlexCacheEntry
CmsFlexCacheEntry | public class CmsFlexCacheEntry extends Object implements I_CmsLruCacheObject,I_CmsMemoryMonitorable(Code) | | Contains the contents of a cached resource.
It is basically a list of pre-generated output,
include() calls to other resources (with request parameters) and http headers that this
resource requires to be set.
A CmsFlexCacheEntry might also describe a redirect-call, but in this case
nothing else will be cached.
The pre-generated output is saved in byte[] arrays.
The include() calls are saved as Strings of the included resource name,
the parameters for the calls are saved in a HashMap.
The headers are saved in a HashMap.
In case of a redirect, the redirect target is cached in a String.
The CmsFlexCacheEntry can also have an expire date value, which indicates the time
that his entry will become invalid and should thus be cleared from the cache.
author: Alexander Kandzior author: Thomas Weckert version: $Revision: 1.34 $ since: 6.0.0 See Also: org.opencms.cache.I_CmsLruCacheObject |
Constructor Summary | |
public | CmsFlexCacheEntry() Constructor for class CmsFlexCacheEntry.
The way to use this class is to first use this empty constructor
and later add data with the various add methods. |
INITIAL_CAPACITY_LISTS | final public static int INITIAL_CAPACITY_LISTS(Code) | | Initial size for lists.
|
CmsFlexCacheEntry | public CmsFlexCacheEntry()(Code) | | Constructor for class CmsFlexCacheEntry.
The way to use this class is to first use this empty constructor
and later add data with the various add methods.
|
add | public void add(byte[] bytes)(Code) | | Adds an array of bytes to this cache entry,
this will usually be the result of some kind of output - stream.
Parameters: bytes - the output to save in the cache |
add | public void add(String resource, Map parameters)(Code) | | Add an include - call target resource to this cache entry.
Parameters: resource - a name of a resource in the OpenCms VFS Parameters: parameters - a map of parameters specific to this include call |
addHeaders | public void addHeaders(Map headers)(Code) | | Add a map of headers to this cache entry,
which are usually collected in the class CmsFlexResponse first.
Parameters: headers - the map of headers to add to the entry |
complete | public void complete()(Code) | | Completes this cache entry.
A completed cache entry is made "unmodifiable",
so that no further data can be added and existing data can not be changed.
This is to prevent the (unlikely) case that some user-written class
tries to make changes to a cache entry.
|
elements | public List elements()(Code) | | Returns the list of data entries of this cache entry.
Data entries are byte arrays representing some kind of output
or Strings representing include calls to other resources.
the list of data elements of this cache entry |
getDateExpires | public long getDateExpires()(Code) | | Returns the expiration date of this cache entry,
this is set to the time when the entry becomes invalid.
the expiration date value for this resource |
getDateLastModified | public long getDateLastModified()(Code) | | Returns the "last modified" date for this Flex cache entry.
the "last modified" date for this Flex cache entry |
service | public void service(CmsFlexRequest req, CmsFlexResponse res) throws CmsFlexCacheException, ServletException, IOException(Code) | | Processing method for this cached entry.
If this method is called, it delivers the contents of
the cached entry to the given request / response.
This includes calls to all included resources.
Parameters: req - the request from the client Parameters: res - the server response throws: CmsFlexCacheException - is thrown when problems writing to the response output-stream occur throws: ServletException - might be thrown from call to RequestDispatcher.include() throws: IOException - might be thrown from call to RequestDispatcher.include() or from Response.sendRedirect() |
setDateExpires | public void setDateExpires(long dateExpires)(Code) | | Sets the expiration date of this Flex cache entry exactly to the
given time.
Parameters: dateExpires - the time to expire this cache entry |
setDateExpiresToNextTimeout | public void setDateExpiresToNextTimeout(long timeout)(Code) | | Sets an expiration date for this cache entry to the next timeout,
which indicates the time this entry becomes invalid.
The timeout parameter represents the minute - interval in which the cache entry
is to be cleared.
The interval always starts at 0.00h.
A value of 60 would indicate that this entry will reach it's expiration date at the beginning of the next
full hour, a timeout of 20 would indicate that the entry is invalidated at x.00, x.20 and x.40 of every hour etc.
Parameters: timeout - the timeout value to be set |
setDateLastModified | public void setDateLastModified(long dateLastModified)(Code) | | Sets the "last modified" date for this Flex cache entry with the given value.
Parameters: dateLastModified - the value to set for the "last modified" date |
setDateLastModifiedToPreviousTimeout | public void setDateLastModifiedToPreviousTimeout(long timeout)(Code) | | Sets the "last modified" date for this Flex cache entry by using the last passed timeout value.
If a cache entry uses the timeout feature, it becomes invalid every time the timeout interval
passes. Thus the "last modified" date is the time the last timeout passed.
Parameters: timeout - the timeout value to use to calculate the date last modified |
setRedirect | public void setRedirect(String target)(Code) | | Set a redirect target for this cache entry.
Important:
When a redirect target is set, all saved data is thrown away,
and new data will not be saved in the cache entry.
This is so since with a redirect nothing will be displayed
in the browser anyway, so there is no point in saving the data.
Parameters: target - The redirect target (must be a valid URL). |
setVariationData | public void setVariationData(String theVariationKey, Map theVariationMap)(Code) | | Stores a backward reference to the map and key where this cache entry is stored.
This is required for the FlexCache.
Parameters: theVariationKey - the variation key Parameters: theVariationMap - the variation map |
|
|