1 /* 2 * Java HTML Tidy - JTidy 3 * HTML parser and pretty printer 4 * 5 * Copyright (c) 1998-2000 World Wide Web Consortium (Massachusetts 6 * Institute of Technology, Institut National de Recherche en 7 * Informatique et en Automatique, Keio University). All Rights 8 * Reserved. 9 * 10 * Contributing Author(s): 11 * 12 * Dave Raggett <dsr@w3.org> 13 * Andy Quick <ac.quick@sympatico.ca> (translation to Java) 14 * Gary L Peskin <garyp@firstech.com> (Java development) 15 * Sami Lempinen <sami@lempinen.net> (release management) 16 * Fabrizio Giustina <fgiust at users.sourceforge.net> 17 * Vlad Skarzhevskyy <vlads at users.sourceforge.net> (JTidy servlet development) 18 * 19 * The contributing author(s) would like to thank all those who 20 * helped with testing, bug fixes, and patience. This wouldn't 21 * have been possible without all of you. 22 * 23 * COPYRIGHT NOTICE: 24 * 25 * This software and documentation is provided "as is," and 26 * the copyright holders and contributing author(s) make no 27 * representations or warranties, express or implied, including 28 * but not limited to, warranties of merchantability or fitness 29 * for any particular purpose or that the use of the software or 30 * documentation will not infringe any third party patents, 31 * copyrights, trademarks or other rights. 32 * 33 * The copyright holders and contributing author(s) will not be 34 * liable for any direct, indirect, special or consequential damages 35 * arising out of any use of the software or documentation, even if 36 * advised of the possibility of such damage. 37 * 38 * Permission is hereby granted to use, copy, modify, and distribute 39 * this source code, or portions hereof, documentation and executables, 40 * for any purpose, without fee, subject to the following restrictions: 41 * 42 * 1. The origin of this source code must not be misrepresented. 43 * 2. Altered versions must be plainly marked as such and must 44 * not be misrepresented as being the original source. 45 * 3. This Copyright notice may not be removed or altered from any 46 * source or altered source distribution. 47 * 48 * The copyright holders and contributing author(s) specifically 49 * permit, without fee, and encourage the use of this source code 50 * as a component for supporting the Hypertext Markup Language in 51 * commercial products. If you use this source code in a product, 52 * acknowledgment is not required but would be appreciated. 53 * 54 */ 55 package org.w3c.tidy.servlet; 56 /* 57 * Created on 08.10.2004 by vlads 58 */ 59 import javax.servlet.http.HttpSession; 60 import javax.servlet.http.HttpServletResponse; 61 import javax.servlet.http.HttpServletRequest; 62 63 /*** 64 * Public interface for user to redefine validation results handling. 65 * Default implementation is provided by jtidyservlet. 66 * You define class to be used by servlet using JTidyServlet.properties file. 67 * 68 * @see org.w3c.tidy.servlet.data.DefaultRepositoryFactory 69 * @see org.w3c.tidy.servlet.data.SessionRepositoryFactory 70 * 71 * @author Vlad Skarzhevskyy <a href="mailto:skarzhevskyy@gmail.com">skarzhevskyy@gmail.com</a> 72 * @version $Revision: 1.4 $ ($Author: vlads $) 73 */ 74 75 public interface RepositoryFactory 76 { 77 /*** 78 * Get the Repository where to store validation results. 79 * @param httpSession Session to bound to. 80 * @return Returns the repository instance for given Session, or null if nothing should be stored. 81 */ 82 ResponseRecordRepository getRepositoryInstance(HttpSession httpSession); 83 84 /*** 85 * Get the ResponseID for given request. This bunction is called 86 * @param httpSession HttpSession that could store ID as attribute 87 * @param request HttpServletRequest that could store ID as attribute, could be null 88 * @param response HttpServletResponse that could store ID as attribute, could be null 89 * @param newResponse Create new ResponseID anyway 90 * @return Returns the Request/Response ID or null if it should be ignored by JTidy. Object should have proper 91 * toString() function. 92 */ 93 Object getResponseID(HttpSession httpSession, HttpServletRequest request, HttpServletResponse response, boolean newResponse); 94 95 /*** 96 * Create new validation results Response Record. 97 * @param request HttpServletRequest 98 * @param response HttpServletResponse 99 * @return Returns new ResponseRecord or null if record for request should be ignored. 100 */ 101 ResponseRecord createRecord(Object key, HttpSession httpSession, HttpServletRequest request, HttpServletResponse response); 102 }