javax.portlet
Interface CacheControl


public interface CacheControl

The CacheControl interface represents cache settings for a piece of markup. The settings are only valid for the current request.

Since:
2.0

Method Summary
 java.lang.String getETag()
          Returns the ETag for the current response that is used as validation tag, or null if no ETag is set on the response.
 int getExpirationTime()
          Get the currently set expiration time.
 boolean isPublicScope()
          Returns a boolean indicating whether the caching scope is set to public for the current response.
 void setETag(java.lang.String token)
          Sets an ETag for the current response that is used as validation tag.
 void setExpirationTime(int time)
          Sets a new expiration time for the current response in seconds.
 void setPublicScope(boolean publicScope)
          Sets the caching scope for the current response to public with true as publicScope and to private with false as publicScope.
 void setUseCachedContent(boolean useCachedContent)
          Sets the indication whether the cached content for the provided ETag at the request is still valid or not.
 boolean useCachedContent()
          Returns a boolean indicating whether the cached content for the provided ETag at the request can still be considerated valid.
 

Method Detail

getExpirationTime

int getExpirationTime()
Get the currently set expiration time. If no expiration time is set on this response the default defined in the portlet deployment descriptor with the expiration-cache tag is returned, or 0 if no default is defined.

This call returns the same value as the getProperty(EXPIRATION_CACHE) call.

Returns:
the currently set expiration time in seconds, or 0 if no expiration time is set.

setExpirationTime

void setExpirationTime(int time)
Sets a new expiration time for the current response in seconds.

If the expiration value is set to 0, caching is disabled for this portlet; if the value is set to -1, the cache does not expire.

This call is equivalent to calling setProperty(EXPIRATION_CACHE).

Parameters:
time - expiration time in seconds

isPublicScope

boolean isPublicScope()
Returns a boolean indicating whether the caching scope is set to public for the current response. If no caching scope is set on this response, the default defined in the deployment descriptor with the cache-scope tag is returned, or false if no default is defined.

Public cache scope indicates that the cache entry can be shared across users. Non-public, or private cache scope indicates that the cache entry must not be shared across users.

This call is equivalent to calling getProperty(CACHE_SCOPE).equals(PUBLIC_SCOPE).

Returns:
true if the cache scope is public for the current response.

setPublicScope

void setPublicScope(boolean publicScope)
Sets the caching scope for the current response to public with true as publicScope and to private with false as publicScope.

Public cache scope indicates that the cache entry can be shared across users. Non-public, or private cache scope indicates that the cache entry must not be shared across users.

This call is equivalent to calling (publicScope ? setProperty(CACHE_SCOPE, PUBLIC_SCOPE | setProperty(CACHE_SCOPE, PRIVATE_SCOPE).

Parameters:
publicScope - indicating if the cache entry can be shared across users

getETag

java.lang.String getETag()
Returns the ETag for the current response that is used as validation tag, or null if no ETag is set on the response.

This call is equivalent to calling getProperty(ETAG).

Returns:
the ETag for the current response that is used as validation tag, or null if no ETag is set.

setETag

void setETag(java.lang.String token)
Sets an ETag for the current response that is used as validation tag. If an ETag was already set it is replaced with the new value.

This call is equivalent to calling setProperty(ETAG, token).

Setting the ETag to null removes the currently set ETag.

Parameters:
token - the ETag token

useCachedContent

boolean useCachedContent()
Returns a boolean indicating whether the cached content for the provided ETag at the request can still be considerated valid. If not set, the default is false.

This call is equivalent to calling getProperty(USE_CACHED_CONTENT) and getting a non-null value back.

Returns:
boolean indicating whether the caching scope is set to public for the current response

setUseCachedContent

void setUseCachedContent(boolean useCachedContent)
Sets the indication whether the cached content for the provided ETag at the request is still valid or not. If set to true no output should be rendered, but a new expiration time should be set for the markup with the given ETag .

This call is equivalent to calling setProperty(USE_CACHED_CONTENT, "true").

Parameters:
useCachedContent - boolean indication whether the the cached content is still valid or not