cziegeler 2004/03/01 00:24:59
Modified: src/java/org/apache/cocoon/xml SaxBuffer.java
Log:
Make the list available to subclasses and add improvements from 2.1 branch
Revision Changes Path
1.3 +13 -8 cocoon-2.2/src/java/org/apache/cocoon/xml/SaxBuffer.java
Index: SaxBuffer.java
===================================================================
RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/xml/SaxBuffer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SaxBuffer.java 9 Dec 2003 21:37:35 -0000 1.2
+++ SaxBuffer.java 1 Mar 2004 08:24:59 -0000 1.3
@@ -79,12 +79,12 @@
* @author <a href="mailto:[email protected]">Apache Cocoon Team</a>
* @version CVS $Id$
*/
-public class SaxBuffer implements ContentHandler, LexicalHandler, XMLizable,
Recyclable {
+public class SaxBuffer implements XMLConsumer, XMLizable, Recyclable {
/**
* Stores list of [EMAIL PROTECTED] SaxBit} objects.
*/
- private List saxbits = new ArrayList();
+ protected List saxbits = new ArrayList();
/**
* Creates empty SaxBuffer
@@ -117,7 +117,7 @@
}
public void startDocument() throws SAXException {
- saxbits.add(new StartDocument());
+ saxbits.add(StartDocument.SINGLETON);
}
public void startElement(String namespaceURI, String localName, String
qName, Attributes atts) throws SAXException {
@@ -137,7 +137,7 @@
}
public void endDocument() throws SAXException {
- saxbits.add(new EndDocument());
+ saxbits.add(EndDocument.SINGLETON);
}
public void startPrefixMapping(String prefix, String uri) throws
SAXException {
@@ -145,7 +145,7 @@
}
public void endCDATA() throws SAXException {
- saxbits.add(new EndCDATA());
+ saxbits.add(EndCDATA.SINGLETON);
}
public void comment(char ch[], int start, int length) throws
SAXException {
@@ -157,7 +157,7 @@
}
public void endDTD() throws SAXException {
- saxbits.add(new EndDTD());
+ saxbits.add(EndDTD.SINGLETON);
}
public void startDTD(String name, String publicId, String systemId)
throws SAXException {
@@ -165,7 +165,7 @@
}
public void startCDATA() throws SAXException {
- saxbits.add(new StartCDATA());
+ saxbits.add(StartCDATA.SINGLETON);
}
public void endEntity(String name) throws SAXException {
@@ -225,12 +225,14 @@
}
final static class StartDocument implements SaxBit {
+ static public final StartDocument SINGLETON = new StartDocument();
public void send(ContentHandler contentHandler) throws SAXException {
contentHandler.startDocument();
}
}
final static class EndDocument implements SaxBit {
+ static public final EndDocument SINGLETON = new EndDocument();
public void send(ContentHandler contentHandler) throws SAXException {
contentHandler.endDocument();
}
@@ -268,6 +270,7 @@
}
final static class EndDTD implements SaxBit {
+ static public final EndDTD SINGLETON = new EndDTD();
public void send(ContentHandler contentHandler) throws SAXException {
if (contentHandler instanceof LexicalHandler)
((LexicalHandler)contentHandler).endDTD();
@@ -406,6 +409,7 @@
}
final static class StartCDATA implements SaxBit {
+ static public final StartCDATA SINGLETON = new StartCDATA();
public void send(ContentHandler contentHandler) throws SAXException {
if (contentHandler instanceof LexicalHandler)
((LexicalHandler)contentHandler).startCDATA();
@@ -413,6 +417,7 @@
}
final static class EndCDATA implements SaxBit {
+ static public final EndCDATA SINGLETON = new EndCDATA();
public void send(ContentHandler contentHandler) throws SAXException {
if (contentHandler instanceof LexicalHandler)
((LexicalHandler)contentHandler).endCDATA();