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 }