001 package com.mockrunner.mock.web;
002
003 import java.io.IOException;
004
005 import javax.servlet.RequestDispatcher;
006 import javax.servlet.ServletException;
007 import javax.servlet.ServletRequest;
008 import javax.servlet.ServletResponse;
009
010 /**
011 * Mock implementation of <code>RequestDispatcher</code>.
012 */
013 public class MockRequestDispatcher implements RequestDispatcher
014 {
015 private ServletRequest forwardedRequest;
016 private ServletResponse forwardedResponse;
017 private ServletRequest includedRequest;
018 private ServletResponse includedResponse;
019 private String path;
020
021 /**
022 * Sets the path for this <code>RequestDispatcher</code>.
023 * @param path the path
024 */
025 public void setPath(String path)
026 {
027 this.path = path;
028 }
029
030 /**
031 * Returns the name or path used to retrieve this <code>RequestDispatcher</code>.
032 * @return the name or path used to retrieve this <code>RequestDispatcher</code>
033 */
034 public String getPath()
035 {
036 return path;
037 }
038
039 public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException
040 {
041 forwardedRequest = request;
042 forwardedResponse = response;
043 }
044
045 public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException
046 {
047 includedRequest = request;
048 includedResponse = response;
049 }
050
051 public ServletRequest getForwardedRequest()
052 {
053 return forwardedRequest;
054 }
055
056 public ServletResponse getForwardedResponse()
057 {
058 return forwardedResponse;
059 }
060
061 public ServletRequest getIncludedRequest()
062 {
063 return includedRequest;
064 }
065
066 public ServletResponse getIncludedResponse()
067 {
068 return includedResponse;
069 }
070 }