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         }