+ private static final int MAX_QNAME_CACHE_SIZE = Integer.getInteger(
+ "org.opendaylight.controller.cluster.datastore.node.utils.qname-cache.max-size", 10000);
+
+ private static final LoadingCache<String, QName> STRING_CACHE = CacheBuilder.newBuilder()
+ .maximumSize(MAX_QNAME_CACHE_SIZE).weakValues().build(new CacheLoader<String, QName>() {
+ @Override
+ public QName load(final String key) {
+ return QName.create(key).intern();
+ }
+ });
+
+ private static final LoadingCache<Key, QName> KEY_CACHE = CacheBuilder.newBuilder()
+ .maximumSize(MAX_QNAME_CACHE_SIZE).weakValues().build(new CacheLoader<Key, QName>() {
+ @Override
+ public QName load(final Key key) {
+ return key.toQName().intern();
+ }
+ });
+
+ private QNameFactory() {
+
+ }
+
+ @Deprecated
+ public static QName create(final String name) {
+ return STRING_CACHE.getUnchecked(name);
+ }