com.ingenico.direct.logging.PropertyObfuscator Maven / Gradle / Ivy
package com.ingenico.direct.logging;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final class PropertyObfuscator extends Obfuscator {
private final Pattern propertyPattern;
PropertyObfuscator(Map obfuscators) {
// case sensitive
super(obfuscators, false);
this.propertyPattern = buildPropertyPattern(obfuscators.keySet());
}
private Pattern buildPropertyPattern(Set propertyNames) {
if (propertyNames.isEmpty()) {
// no matches possible
return Pattern.compile("$^");
}
Iterator iterator = propertyNames.iterator();
/*
* Regex to create: (["'])(X|Y|Z)\1\s*:\s*(?:(["'])(.*?)(?