
com.fasterxml.jackson.dataformat.xml.util.CaseInsensitiveNameSet Maven / Gradle / Ivy
package com.fasterxml.jackson.dataformat.xml.util;
import java.util.*;
/**
* Helper class for matching element wrappers, possibly in case-insensitive
* manner.
*
* @since 2.12
*/
public final class CaseInsensitiveNameSet extends AbstractSet
{
private final Set _namesToMatch;
private CaseInsensitiveNameSet(Set namesToMatch) {
_namesToMatch = namesToMatch;
}
public static CaseInsensitiveNameSet construct(Set names0) {
Set namesToMatch = new HashSet(names0);
for (String name : names0) {
namesToMatch.add(name.toLowerCase());
}
return new CaseInsensitiveNameSet(namesToMatch);
}
@Override
public boolean contains(Object key0) {
final String key = (String) key0;
if (_namesToMatch.contains(key)) {
return true;
}
final String lc = key.toLowerCase();
return (lc != key) && _namesToMatch.contains(lc);
}
@Override
public Iterator iterator() {
return _namesToMatch.iterator();
}
@Override
public int size() {
return _namesToMatch.size();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy