summaryrefslogtreecommitdiff
path: root/gnu/xml/stream/XMLInputFactoryImpl.java
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2005-12-15 18:16:55 +0000
committerChris Burdess <dog@bluezoo.org>2005-12-15 18:16:55 +0000
commitfe0b52817906ab1a07b5103be9134025c1528953 (patch)
tree070423f4b206445fc37bbb7b24dd7394626b4175 /gnu/xml/stream/XMLInputFactoryImpl.java
parentc28aaa1879575f071a37dc38248e68e16dfc5abd (diff)
downloadclasspath-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.java70
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)