001 package com.croftsoft.core.text.xml;
002
003 import java.io.*;
004 import org.xml.sax.*;
005 import org.xml.sax.helpers.*;
006
007 import com.croftsoft.core.lang.NullArgumentException;
008
009 /*********************************************************************
010 * Filters DefaultHandler operations.
011 *
012 * <p>
013 * Override the FilterDefaultHandler methods to filter calls to the
014 * DefaultHandler delegate.
015 * The initial DefaultHandler delegate can be replaced which allows you
016 * to swap the implementation as necessary.
017 * </p>
018 *
019 * @version
020 * $Date: 2008/04/19 21:18:27 $
021 * @since
022 * 2002-09-18
023 * @author
024 * <a href="https://www.croftsoft.com/">David Wallace Croft</a>
025 *********************************************************************/
026
027 public class FilterDefaultHandler
028 extends DefaultHandler
029 implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
030 //////////////////////////////////////////////////////////////////////
031 //////////////////////////////////////////////////////////////////////
032 {
033
034 private DefaultHandler defaultHandler;
035
036 //////////////////////////////////////////////////////////////////////
037 //////////////////////////////////////////////////////////////////////
038
039 public FilterDefaultHandler ( DefaultHandler defaultHandler )
040 //////////////////////////////////////////////////////////////////////
041 {
042 setDefaultHandler ( defaultHandler );
043 }
044
045 //////////////////////////////////////////////////////////////////////
046 //////////////////////////////////////////////////////////////////////
047
048 public DefaultHandler getDefaultHandler ( )
049 //////////////////////////////////////////////////////////////////////
050 {
051 return defaultHandler;
052 }
053
054 public void setDefaultHandler ( DefaultHandler defaultHandler )
055 //////////////////////////////////////////////////////////////////////
056 {
057 NullArgumentException.check (
058 this.defaultHandler = defaultHandler );
059 }
060
061 //////////////////////////////////////////////////////////////////////
062 //////////////////////////////////////////////////////////////////////
063
064 @Override
065 public void characters (
066 char [ ] ch,
067 int start,
068 int length )
069 throws SAXException
070 //////////////////////////////////////////////////////////////////////
071 {
072 defaultHandler.characters ( ch, start, length );
073 }
074
075 @Override
076 public void endDocument ( )
077 throws SAXException
078 //////////////////////////////////////////////////////////////////////
079 {
080 defaultHandler.endDocument ( );
081 }
082
083 @Override
084 public void endElement (
085 String namespaceURI,
086 String localName,
087 String qName )
088 throws SAXException
089 //////////////////////////////////////////////////////////////////////
090 {
091 defaultHandler.endElement ( namespaceURI, localName, qName );
092 }
093
094 @Override
095 public void endPrefixMapping ( String prefix )
096 throws SAXException
097 //////////////////////////////////////////////////////////////////////
098 {
099 defaultHandler.endPrefixMapping ( prefix );
100 }
101
102 @Override
103 public void error ( SAXParseException e )
104 throws SAXException
105 //////////////////////////////////////////////////////////////////////
106 {
107 defaultHandler.error ( e );
108 }
109
110 @Override
111 public void fatalError ( SAXParseException e )
112 throws SAXException
113 //////////////////////////////////////////////////////////////////////
114 {
115 defaultHandler.fatalError ( e );
116 }
117
118 @Override
119 public void ignorableWhitespace (
120 char [ ] ch,
121 int start,
122 int length )
123 throws SAXException
124 //////////////////////////////////////////////////////////////////////
125 {
126 defaultHandler.ignorableWhitespace ( ch, start, length );
127 }
128
129 @Override
130 public void notationDecl (
131 String name,
132 String publicId,
133 String systemId )
134 throws SAXException
135 //////////////////////////////////////////////////////////////////////
136 {
137 defaultHandler.notationDecl ( name, publicId, systemId );
138 }
139
140 @Override
141 public void processingInstruction (
142 String target,
143 String data )
144 throws SAXException
145 //////////////////////////////////////////////////////////////////////
146 {
147 defaultHandler.processingInstruction ( target, data );
148 }
149
150 @Override
151 public InputSource resolveEntity (
152 String publicId,
153 String systemId )
154 throws IOException, SAXException
155 //////////////////////////////////////////////////////////////////////
156 {
157 return defaultHandler.resolveEntity ( publicId, systemId );
158 }
159
160 @Override
161 public void setDocumentLocator ( Locator locator )
162 //////////////////////////////////////////////////////////////////////
163 {
164 defaultHandler.setDocumentLocator ( locator );
165 }
166
167 @Override
168 public void skippedEntity ( String name )
169 throws SAXException
170 //////////////////////////////////////////////////////////////////////
171 {
172 defaultHandler.skippedEntity ( name );
173 }
174
175 @Override
176 public void startDocument ( )
177 throws SAXException
178 //////////////////////////////////////////////////////////////////////
179 {
180 defaultHandler.startDocument ( );
181 }
182
183 @Override
184 public void startElement (
185 String namespaceURI,
186 String localName,
187 String qName,
188 Attributes atts )
189 throws SAXException
190 //////////////////////////////////////////////////////////////////////
191 {
192 defaultHandler.startElement (
193 namespaceURI, localName, qName, atts );
194 }
195
196 @Override
197 public void startPrefixMapping (
198 String prefix,
199 String uri )
200 throws SAXException
201 //////////////////////////////////////////////////////////////////////
202 {
203 defaultHandler.startPrefixMapping ( prefix, uri );
204 }
205
206 @Override
207 public void unparsedEntityDecl (
208 String name,
209 String publicId,
210 String systemId,
211 String notationName )
212 throws SAXException
213 //////////////////////////////////////////////////////////////////////
214 {
215 defaultHandler.unparsedEntityDecl (
216 name, publicId, systemId, notationName );
217 }
218
219 @Override
220 public void warning ( SAXParseException e )
221 throws SAXException
222 //////////////////////////////////////////////////////////////////////
223 {
224 defaultHandler.warning ( e );
225 }
226
227 //////////////////////////////////////////////////////////////////////
228 //////////////////////////////////////////////////////////////////////
229 }