bruno 2004/05/04 11:21:50
Modified: src/java/org/apache/cocoon/xml SaxBuffer.java
Log:
* made the event classes and their data members public
* added getBits() method
This allows to use SaxBuffer for situations where you want
to process XML parse events in pull style: first buffer the
input in the SaxBuffer, and then (eg in endDocument) start
reading the events out of it.
Revision Changes Path
1.12 +45 -40 cocoon-2.1/src/java/org/apache/cocoon/xml/SaxBuffer.java
Index: SaxBuffer.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/xml/SaxBuffer.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- SaxBuffer.java 8 Mar 2004 13:38:20 -0000 1.11
+++ SaxBuffer.java 4 May 2004 18:21:50 -0000 1.12
@@ -27,6 +27,7 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Collections;
/**
* A class that can record SAX events and replay them later.
@@ -156,7 +157,11 @@
public boolean isEmpty() {
return saxbits.isEmpty();
}
-
+
+ public List getBits() {
+ return Collections.unmodifiableList(saxbits);
+ }
+
public void toSAX(ContentHandler contentHandler) throws SAXException {
for (Iterator i = saxbits.iterator(); i.hasNext();) {
SaxBit saxbit = (SaxBit)i.next();
@@ -190,23 +195,23 @@
public void send(ContentHandler contentHandler) throws SAXException;
}
- final static class StartDocument implements SaxBit, Serializable {
+ public final static class StartDocument implements SaxBit, Serializable {
static public final StartDocument SINGLETON = new StartDocument();
public void send(ContentHandler contentHandler) throws SAXException {
contentHandler.startDocument();
}
}
- final static class EndDocument implements SaxBit, Serializable {
+ public final static class EndDocument implements SaxBit, Serializable {
static public final EndDocument SINGLETON = new EndDocument();
public void send(ContentHandler contentHandler) throws SAXException {
contentHandler.endDocument();
}
}
- final static class PI implements SaxBit, Serializable {
- private final String target;
- private final String data;
+ public final static class PI implements SaxBit, Serializable {
+ public final String target;
+ public final String data;
public PI(String target, String data) {
this.target = target;
@@ -218,10 +223,10 @@
}
}
- final static class StartDTD implements SaxBit, Serializable {
- private final String name;
- private final String publicId;
- private final String systemId;
+ public final static class StartDTD implements SaxBit, Serializable {
+ public final String name;
+ public final String publicId;
+ public final String systemId;
public StartDTD(String name, String publicId, String systemId) {
this.name = name;
@@ -235,7 +240,7 @@
}
}
- final static class EndDTD implements SaxBit, Serializable {
+ public final static class EndDTD implements SaxBit, Serializable {
static public final EndDTD SINGLETON = new EndDTD();
public void send(ContentHandler contentHandler) throws SAXException {
if (contentHandler instanceof LexicalHandler)
@@ -243,8 +248,8 @@
}
}
- final static class StartEntity implements SaxBit, Serializable {
- private final String name;
+ public final static class StartEntity implements SaxBit, Serializable {
+ public final String name;
public StartEntity(String name) {
this.name = name;
@@ -256,8 +261,8 @@
}
}
- final static class EndEntity implements SaxBit, Serializable {
- private final String name;
+ public final static class EndEntity implements SaxBit, Serializable {
+ public final String name;
public EndEntity(String name) {
this.name = name;
@@ -269,8 +274,8 @@
}
}
- final static class SkippedEntity implements SaxBit, Serializable {
- private final String name;
+ public final static class SkippedEntity implements SaxBit, Serializable {
+ public final String name;
public SkippedEntity(String name) {
this.name = name;
@@ -281,9 +286,9 @@
}
}
- final static class StartPrefixMapping implements SaxBit, Serializable {
- private final String prefix;
- private final String uri;
+ public final static class StartPrefixMapping implements SaxBit,
Serializable {
+ public final String prefix;
+ public final String uri;
public StartPrefixMapping(String prefix, String uri) {
this.prefix = prefix;
@@ -295,8 +300,8 @@
}
}
- final static class EndPrefixMapping implements SaxBit, Serializable {
- private final String prefix;
+ public final static class EndPrefixMapping implements SaxBit,
Serializable {
+ public final String prefix;
public EndPrefixMapping(String prefix) {
this.prefix = prefix;
@@ -307,11 +312,11 @@
}
}
- final static class StartElement implements SaxBit, Serializable {
- private final String namespaceURI;
- private final String localName;
- private final String qName;
- private final Attributes attrs;
+ public final static class StartElement implements SaxBit, Serializable {
+ public final String namespaceURI;
+ public final String localName;
+ public final String qName;
+ public final Attributes attrs;
public StartElement(String namespaceURI, String localName, String
qName, Attributes attrs) {
this.namespaceURI = namespaceURI;
@@ -325,10 +330,10 @@
}
}
- final static class EndElement implements SaxBit, Serializable {
- private final String namespaceURI;
- private final String localName;
- private final String qName;
+ public final static class EndElement implements SaxBit, Serializable {
+ public final String namespaceURI;
+ public final String localName;
+ public final String qName;
public EndElement(String namespaceURI, String localName, String
qName) {
this.namespaceURI = namespaceURI;
@@ -341,8 +346,8 @@
}
}
- final static class Characters implements SaxBit, Serializable {
- private final char[] ch;
+ public final static class Characters implements SaxBit, Serializable {
+ public final char[] ch;
public Characters(char[] ch, int start, int length) {
// make a copy so that we don't hold references to a potentially
large array we don't control
@@ -359,8 +364,8 @@
}
}
- final static class Comment implements SaxBit, Serializable {
- private final char[] ch;
+ public final static class Comment implements SaxBit, Serializable {
+ public final char[] ch;
public Comment(char[] ch, int start, int length) {
// make a copy so that we don't hold references to a potentially
large array we don't control
@@ -374,7 +379,7 @@
}
}
- final static class StartCDATA implements SaxBit, Serializable {
+ public final static class StartCDATA implements SaxBit, Serializable {
static public final StartCDATA SINGLETON = new StartCDATA();
public void send(ContentHandler contentHandler) throws SAXException {
if (contentHandler instanceof LexicalHandler)
@@ -382,7 +387,7 @@
}
}
- final static class EndCDATA implements SaxBit, Serializable {
+ public final static class EndCDATA implements SaxBit, Serializable {
static public final EndCDATA SINGLETON = new EndCDATA();
public void send(ContentHandler contentHandler) throws SAXException {
if (contentHandler instanceof LexicalHandler)
@@ -390,8 +395,8 @@
}
}
- final static class IgnorableWhitespace implements SaxBit, Serializable {
- private final char[] ch;
+ public final static class IgnorableWhitespace implements SaxBit,
Serializable {
+ public final char[] ch;
public IgnorableWhitespace(char[] ch, int start, int length) {
// make a copy so that we don't hold references to a potentially
large array we don't control