com.virtualweaver.xotics.dialect.xape.servlet
Interface XapServletRequestManager


public interface XapServletRequestManager

This interface is the request/response manager. It converts an HTTP request into an XAPE request and converts a XAPE response into an HTTP response.

Format of a XAP request created by default implementation of this :

 
 <ctx:request>
 	<ctx:content>
 		<srv:http-request>
 			<srv:cookie/>
 			<srv:cookie/>
 			<srv:cookie/>
 			<srv:header/>
 			<srv:header/>
 			<srv:header/>
 --------------------------- For GET method
 			<srv:parameter/>
 			<srv:parameter/>
 			<srv:parameter/>
 --------------------------- OR
 			<srv:content>
 		.... any optional content tree ...
 			</srv:content>
 ---------------------------
 		</srv:http-request>
 	</ctx:content>
 	<ctx:response>
 		<srv:http-response>
 			<srv:cookie/>
 			<srv:cookie/>
 			<srv:header/>
 			<srv:header/>
 			<srv:content>
 		.... any optional content tree to return ...
 			</srv:content>
 		</srv:http-response>
	</ctx:response>
 </ctx:request>
 
You are free to create your own manager by implementing this interface and setting its class in WEB-INF/web.xml using parameter name 'XapInitRequestManagerClass' servlet init parameter.

Version:
2.1

Method Summary
 SrvHttpRequest parse(javax.servlet.http.HttpServletRequest req)
          Converts HTTP servlet request object into appropriate XAPE Servlet request subtree, representing current XAPE request content.
 void sendBack(SrvHttpResponse xr, javax.servlet.http.HttpServletResponse resp)
          Sends the XAPE Servlet response in param xr to the client using servlet response object
 void setRequestContentHandlers(java.util.Map contentHandlers)
          Set the content-handler description map.
 void setXoEnvironment(com.virtualweaver.xotics.datamodel.XoEnvironment env)
          Sets current XO environment, as this interface can create XO structures.
 

Method Detail

setXoEnvironment

public void setXoEnvironment(com.virtualweaver.xotics.datamodel.XoEnvironment env)
Sets current XO environment, as this interface can create XO structures.

Parameters:
env - current XO environment

setRequestContentHandlers

public void setRequestContentHandlers(java.util.Map contentHandlers)
                               throws XapException
Set the content-handler description map. Keys are MIME types, values are objects of type XapServletRequestContentHandler. This map can also contain optional default mapping, accessible with special key "defaultContentHandler".

Parameters:
contentHandlers - the mapping MIME type -> XapServletRequestContentHandler.
Throws:
XapException

parse

public SrvHttpRequest parse(javax.servlet.http.HttpServletRequest req)
                     throws XapException
Converts HTTP servlet request object into appropriate XAPE Servlet request subtree, representing current XAPE request content.

Parameters:
req - HTTP servlet request
Returns:
XAPE Servlet request object and its subtree, embedded in XAPE request as request content
Throws:
XapException

sendBack

public void sendBack(SrvHttpResponse xr,
                     javax.servlet.http.HttpServletResponse resp)
              throws XapException
Sends the XAPE Servlet response in param xr to the client using servlet response object

Parameters:
xr - the XAPE Servlet response subtree
resp - servlet response
Throws:
XapException