package jenkins.security.s2m;
import com.google.common.collect.ImmutableSet;
import hudson.Util;
import org.jenkinsci.remoting.RoleSensitive;
import java.io.File;
import java.util.HashSet;
import java.util.Set;
/**
* Set of fully-qualified {@link RoleSensitive} (mostly Callable) class names that are whitelisted by admin.
*
* @author Kohsuke Kawaguchi
*/
class CallableWhitelistConfig extends ConfigDirectory<String,Set<String>> {
CallableWhitelistConfig(File file) {
super(file);
}
@Override
protected Set<String> create() {
return new HashSet<String>();
}
@Override
protected Set<String> readOnly(Set<String> base) {
return ImmutableSet.copyOf(base);
}
@Override
protected String parse(String line) {
return Util.fixEmptyAndTrim(line);
}
public boolean contains(String name) {
return get().contains(name);
}
}