/*
 * JBoss, the OpenSource WebOS
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */
package javax.xml.rpc.server;

import java.security.Principal;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletContext;
import javax.xml.rpc.handler.MessageContext;

/** This interface provides an endpoint context maintained by the underlying
 * servlet container based JAX-RPC runtime system. For service endpoints
 * deployed on a servlet container based JAX-RPC runtime system, the context
 * parameter in the ServiceLifecycle.init method is required to be of the Java
 * type javax.xml.rpc.server.ServletEndpointContext.
 * 
 * A servlet container based JAX-RPC runtime system implements the
 * ServletEndpointContext interface. The JAX-RPC runtime system is required to
 * provide appropriate session, message context, servlet context and user
 * principal information per method invocation on the endpoint class.
 * 
 * @author Scott.Stark@jboss.org
 * @author Rahul Sharma, Roberto Chinnici (javadoc)
 * @version $Revision: 1.2.6.1 $
 */
public interface ServletEndpointContext
{
   public HttpSession getHttpSession();
   public MessageContext getMessageContext();
   public ServletContext getServletContext();
   public Principal getUserPrincipal();
   public boolean isUserInRole(String role);
}
