diff options
author | Chris Burdess <dog@bluezoo.org> | 2005-12-15 18:16:55 +0000 |
---|---|---|
committer | Chris Burdess <dog@bluezoo.org> | 2005-12-15 18:16:55 +0000 |
commit | fe0b52817906ab1a07b5103be9134025c1528953 (patch) | |
tree | 070423f4b206445fc37bbb7b24dd7394626b4175 /gnu/xml/stream/XMLInputFactoryImpl.java | |
parent | c28aaa1879575f071a37dc38248e68e16dfc5abd (diff) | |
download | classpath-fe0b52817906ab1a07b5103be9134025c1528953.tar.gz |
2005-12-15 Chris Burdess <dog@gnu.org>
* gnu/xml/stream/SAXParser.java,
gnu/xml/stream/XMLInputFactoryImpl.java,
gnu/xml/stream/XMLParser.java: Permit setting extended properties
via factory interfaces; make base-aware a parameter.
Diffstat (limited to 'gnu/xml/stream/XMLInputFactoryImpl.java')
-rw-r--r-- | gnu/xml/stream/XMLInputFactoryImpl.java | 70 |
1 files changed, 51 insertions, 19 deletions
diff --git a/gnu/xml/stream/XMLInputFactoryImpl.java b/gnu/xml/stream/XMLInputFactoryImpl.java index 6543a83c5..164774d82 100644 --- a/gnu/xml/stream/XMLInputFactoryImpl.java +++ b/gnu/xml/stream/XMLInputFactoryImpl.java @@ -78,24 +78,14 @@ public class XMLInputFactoryImpl protected boolean externalEntities = true; protected boolean supportDTD = true; protected boolean xIncludeAware = false; + protected boolean baseAware = true; + protected boolean stringInterning = true; public XMLInputFactoryImpl() { allocator = new XMLEventAllocatorImpl(); } - private void configureXMLParser(XMLParser parser) - { - parser.setResolver(resolver); - parser.setReporter(reporter); - parser.setValidating(validating); - parser.setNamespaceAware(namespaceAware); - parser.setCoalescing(coalescing); - parser.setReplacingEntityReferences(replacingEntityReferences); - parser.setExternalEntities(externalEntities); - parser.setSupportDTD(supportDTD); - } - public XMLStreamReader createXMLStreamReader(Reader reader) throws XMLStreamException { @@ -106,8 +96,17 @@ public class XMLInputFactoryImpl coalescing, replacingEntityReferences, externalEntities, supportDTD); */ - XMLParser ret = new XMLParser(reader, null); - configureXMLParser(ret); + XMLParser ret = new XMLParser(reader, null, + validating, + namespaceAware, + coalescing, + replacingEntityReferences, + externalEntities, + supportDTD, + baseAware, + stringInterning, + reporter, + resolver); if (xIncludeAware) return new XIncludeFilter(ret, null, namespaceAware, validating, replacingEntityReferences); @@ -124,8 +123,17 @@ public class XMLInputFactoryImpl validating, namespaceAware, coalescing, replacingEntityReferences, externalEntities, supportDTD);*/ - XMLParser ret = new XMLParser(in, systemId); - configureXMLParser(ret); + XMLParser ret = new XMLParser(in, systemId, + validating, + namespaceAware, + coalescing, + replacingEntityReferences, + externalEntities, + supportDTD, + baseAware, + stringInterning, + reporter, + resolver); if (xIncludeAware) return new XIncludeFilter(ret, systemId, namespaceAware, validating, replacingEntityReferences); @@ -140,8 +148,17 @@ public class XMLInputFactoryImpl validating, namespaceAware, coalescing, replacingEntityReferences, externalEntities, supportDTD);*/ - XMLParser ret = new XMLParser(in, null); - configureXMLParser(ret); + XMLParser ret = new XMLParser(in, null, + validating, + namespaceAware, + coalescing, + replacingEntityReferences, + externalEntities, + supportDTD, + baseAware, + stringInterning, + reporter, + resolver); if (xIncludeAware) return new XIncludeFilter(ret, null, namespaceAware, validating, replacingEntityReferences); @@ -243,6 +260,12 @@ public class XMLInputFactoryImpl resolver = (XMLResolver) value; else if (name.equals(ALLOCATOR)) allocator = (XMLEventAllocator) value; + else if (name.equals("gnu.xml.stream.stringInterning")) + stringInterning = ((Boolean) value).booleanValue(); + else if (name.equals("gnu.xml.stream.baseAware")) + baseAware = ((Boolean) value).booleanValue(); + else if (name.equals("gnu.xml.stream.xIncludeAware")) + xIncludeAware = ((Boolean) value).booleanValue(); else throw new IllegalArgumentException(name); } @@ -268,6 +291,12 @@ public class XMLInputFactoryImpl return resolver; if (name.equals(ALLOCATOR)) return allocator; + if (name.equals("gnu.xml.stream.stringInterning")) + return stringInterning ? Boolean.TRUE : Boolean.FALSE; + if (name.equals("gnu.xml.stream.baseAware")) + return baseAware ? Boolean.TRUE : Boolean.FALSE; + if (name.equals("gnu.xml.stream.xIncludeAware")) + return xIncludeAware ? Boolean.TRUE : Boolean.FALSE; throw new IllegalArgumentException(name); } @@ -281,7 +310,10 @@ public class XMLInputFactoryImpl name.equals(SUPPORT_DTD) || name.equals(REPORTER) || name.equals(RESOLVER) || - name.equals(ALLOCATOR); + name.equals(ALLOCATOR) || + name.equals("gnu.xml.stream.stringInterning") || + name.equals("gnu.xml.stream.baseAware") || + name.equals("gnu.xml.stream.xIncludeAware"); } public void setEventAllocator(XMLEventAllocator allocator) |