
artoria.data.desensitize.DesensitizeUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of artoria-extend Show documentation
Show all versions of artoria-extend Show documentation
Artoria is a java technology framework based on the facade pattern.
The newest version!
package artoria.data.desensitize;
import artoria.logging.Logger;
import artoria.logging.LoggerFactory;
import artoria.util.Assert;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Data desensitizing tools.
* @author Kahle
*/
public class DesensitizeUtils {
private static final Map DESENSITIZER_MAP = new ConcurrentHashMap();
private static final Logger log = LoggerFactory.getLogger(DesensitizeUtils.class);
public static Desensitizer unregister(String name) {
Assert.notBlank(name, "Parameter \"name\" must not blank. ");
Desensitizer remove = DESENSITIZER_MAP.remove(name);
if (remove != null) {
String removeClassName = remove.getClass().getName();
log.info("Unregister \"{}\" to \"{}\". ", removeClassName, name);
}
return remove;
}
public static void register(String name, Desensitizer desensitizer) {
Assert.notNull(desensitizer, "Parameter \"desensitizer\" must not null. ");
Assert.notBlank(name, "Parameter \"name\" must not blank. ");
String dataMaskerClassName = desensitizer.getClass().getName();
log.info("Register \"{}\" to \"{}\". ", dataMaskerClassName, name);
DESENSITIZER_MAP.put(name, desensitizer);
}
public static String desensitize(String name, String data) {
Assert.notBlank(name, "Parameter \"name\" must not blank. ");
Desensitizer desensitizer = DESENSITIZER_MAP.get(name);
if (desensitizer == null) {
throw new IllegalStateException(
"The data desensitizer named \"" + name + "\" could not be found. "
);
}
return desensitizer.desensitize(data);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy