View Javadoc

1   /***
2    * 
3    */
4   package net.trajano.twiff;
5   
6   import java.io.Serializable;
7   import javax.servlet.http.HttpServletRequest;
8   
9   /***
10   * This interface gets the page data that is used for all the servlets.
11   * 
12   * @author Archimedes Trajano
13   */
14  public interface PageLookup {
15  
16      /***
17       * This extracts the page name from the URL requested in the servlet
18       * request.
19       * 
20       * @param request
21       *                   the servlet request.
22       * @return the page name.
23       */
24      String getPageName(HttpServletRequest request);
25  
26      /***
27       * This extracts the page bean class name from the URL requested in the
28       * servlet request.
29       * 
30       * @param request
31       *                   the servlet request.
32       * @return the page bean class name.
33       */
34      String getPageBeanClassName(HttpServletRequest request);
35  
36      /***
37       * This extracts the page bean class from the URL requested in the servlet
38       * request. The returned class must implement {@link Serializable} to ensure
39       * that the bean can be persisted if necessary.
40       * 
41       * @param request
42       *                   the servlet request.
43       * @return the page bean class.
44       * @throws ClassNotFoundException
45       *                    class is not found.
46       */
47      Class<? extends Serializable> getPageBeanClass(HttpServletRequest request) throws ClassNotFoundException;
48  }