package com.navercorp.pinpoint.bootstrap.config;
import com.navercorp.pinpoint.common.util.StringUtils;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ExcludeMethodFilter implements Filter<String> {
private final Set<String> excludeMethods;
public ExcludeMethodFilter(String excludeFormat) {
this(excludeFormat, ",");
}
public ExcludeMethodFilter(String excludeFormat, String separator) {
if (StringUtils.isEmpty(separator)) {
this.excludeMethods = Collections.emptySet();
return;
}
final List<String> splitList = StringUtils.tokenizeToStringList(excludeFormat, separator);
this.excludeMethods = new HashSet<String>();
for (String method : splitList) {
this.excludeMethods.add(method.toUpperCase());
}
}
@Override
public boolean filter(String method) {
return excludeMethods.contains(method);
}
}