/*  Copyright (c) 2001 by Oracle Corporation. All Rights Reserved. */
package oracle.portal.provider.v2.cache.invalidation;

import oracle.portal.provider.v2.render.http.ServletPortletRenderRequest;

import javax.servlet.http.HttpServletRequest;

/**
* Objects derived from this class are used in the context of a servlet 
* based web provider. The extra methods defined in this interface are used to 
* set provider servlet details.
* <p>
* e.g, for the URL http://host:port/servlets/provider, the servlet path is 
* /servlets/provider
* <p>
* These set methods do not accept null parameters.
*/
public abstract class ServletInvalidationContext extends InvalidationContext
{
 /**
  * Set the servlet path of the provider server.
  *
  * @parameter path the servlet path of the provider
  *
  * @exception InvalidationException if a null string is passed
  */
  public abstract void setProviderServletPath(String path) throws InvalidationException;

 /**
  * Set the servlet context of the provider server
  * 
  * @parameter path the provider context
  *
  * @exception InvalidationException if a null string is passed
  */
  public abstract void setProviderContext(String path) throws InvalidationException;

  /**
  * Set the servlet path of the provider server
  *
  * @parameter req portlet render request object
  *
  * @exception InvalidationException if a null string is passed
  */
  public abstract void setFullProviderPath(ServletPortletRenderRequest req)
      throws InvalidationException;

  /**
  * Set the URL charset. This is used when URL encoding the invalidation 
  * request.
  *
  * @parameter charset the character set to be used.
  *
  * @exception InvalidationException if a null string is passed
  */
  public abstract void setURLCharSet(String charset) throws InvalidationException;
}
