1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License.
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License.
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.org.xml.sax.support;
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.AttributeList;
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.Attributes;
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.ContentHandler;
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.DTDHandler;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.DocumentHandler;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.ErrorHandler;
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.Locator;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.SAXException;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.SAXParseException;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.ext.LexicalHandler;
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * A helper class that implements the various SAX callback interfaces and logs
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * method calls.
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@SuppressWarnings("deprecation")
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class MockHandler implements ContentHandler, DTDHandler, DocumentHandler,
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ErrorHandler, LexicalHandler {
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    private MethodLogger logger;
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MockHandler(MethodLogger logger) {
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super();
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        this.logger = logger;
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void characters(char[] ch, int start, int length) throws SAXException {
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("characters", ch, start, length);
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endDocument() throws SAXException {
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endDocument");
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endElement(String name) throws SAXException {
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endElement", name);
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endElement(String uri, String localName, String name) throws SAXException {
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endElement", uri, localName, name);
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endPrefixMapping(String prefix) throws SAXException {
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endPrefixMapping", prefix);
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void error(SAXParseException exception) throws SAXException {
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("error", exception);
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void fatalError(SAXParseException exception) throws SAXException {
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("fatalError", exception);
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("ignorableWhitespace", ch, start, length);
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void notationDecl(String name, String publicId, String systemId) throws SAXException {
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("notationDecl", name, publicId, systemId);
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void processingInstruction(String target, String data) throws SAXException {
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("processingInstruction", target, data);
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void setDocumentLocator(Locator locator) {
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("setDocumentLocator", locator);
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void skippedEntity(String name) throws SAXException {
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("skippedEntity", name);
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startDocument() throws SAXException {
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startDocument");
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startElement(String name, AttributeList atts) throws SAXException {
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startElement", name, atts);
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startElement(String uri, String localName, String name, Attributes atts)
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            throws SAXException {
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startElement", uri, localName, name, atts);
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startPrefixMapping(String prefix, String uri) throws SAXException {
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startPrefixMapping", prefix, uri);
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void unparsedEntityDecl(String name, String publicId, String systemId,
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            String notationName) throws SAXException {
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("unparsedEntityDecl", name, publicId, systemId, notationName);
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void warning(SAXParseException exception) throws SAXException {
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("warning", exception);
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void comment(char[] ch, int start, int length) throws SAXException {
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("comment", ch, start, length);
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endCDATA() throws SAXException {
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endCDATA");
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endDTD() throws SAXException {
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endDTD");
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void endEntity(String name) throws SAXException {
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("endEntity", name);
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startCDATA() throws SAXException {
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startCDATA");
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startDTD(String name, String publicId, String systemId) throws SAXException {
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startDTD", name, publicId, systemId);
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void startEntity(String name) throws SAXException {
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        logger.add("startEntity", name);
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
148