mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-22 06:12:05 +01:00
[smack-xmlparser] Allow override of used XmlPullParserFactory
This commit is contained in:
parent
3bef905ef5
commit
4adbd21a0f
1 changed files with 12 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Copyright 2019 Florian Schmaus.
|
* Copyright 2019-2021 Florian Schmaus.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +28,14 @@ public class SmackXmlParser {
|
||||||
xmlPullParserFactoryServiceLoader = ServiceLoader.load(XmlPullParserFactory.class);
|
xmlPullParserFactoryServiceLoader = ServiceLoader.load(XmlPullParserFactory.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static XmlPullParserFactory xmlPullParserFactory;
|
||||||
|
|
||||||
public static XmlPullParserFactory getXmlPullParserFactory() {
|
public static XmlPullParserFactory getXmlPullParserFactory() {
|
||||||
|
final XmlPullParserFactory xmlPullParserFactory = SmackXmlParser.xmlPullParserFactory;
|
||||||
|
if (xmlPullParserFactory != null) {
|
||||||
|
return xmlPullParserFactory;
|
||||||
|
}
|
||||||
|
|
||||||
Iterator<XmlPullParserFactory> iterator = xmlPullParserFactoryServiceLoader.iterator();
|
Iterator<XmlPullParserFactory> iterator = xmlPullParserFactoryServiceLoader.iterator();
|
||||||
if (!iterator.hasNext()) {
|
if (!iterator.hasNext()) {
|
||||||
throw new IllegalStateException(
|
throw new IllegalStateException(
|
||||||
|
@ -37,6 +44,10 @@ public class SmackXmlParser {
|
||||||
return iterator.next();
|
return iterator.next();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setXmlPullParserFactory(XmlPullParserFactory xmlPullParserFactory) {
|
||||||
|
SmackXmlParser.xmlPullParserFactory = xmlPullParserFactory;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new XmlPullParser suitable for parsing XMPP. This means in particular that
|
* Creates a new XmlPullParser suitable for parsing XMPP. This means in particular that
|
||||||
* FEATURE_PROCESS_NAMESPACES is enabled.
|
* FEATURE_PROCESS_NAMESPACES is enabled.
|
||||||
|
|
Loading…
Reference in a new issue