package org.archive.wayback.authenticationcontrol;
import java.util.Map;
import org.archive.wayback.core.WaybackRequest;
import org.archive.wayback.util.operator.BooleanOperator;
import org.archive.wayback.webapp.AccessPoint;
public class PathMappingBooleanOperator implements BooleanOperator<WaybackRequest> {
protected Map<String, BooleanOperator<WaybackRequest>> pathMap;
protected boolean noMatchesDefault = true;
@Override
public boolean isTrue(WaybackRequest value) {
AccessPoint ap = value.getAccessPoint();
String path = ap.getAccessPointPath();
if (path == null) {
return noMatchesDefault;
}
BooleanOperator<WaybackRequest> op = pathMap.get(path);
if (op == null) {
return noMatchesDefault;
}
return op.isTrue(value);
}
public Map<String, BooleanOperator<WaybackRequest>> getPathMap() {
return pathMap;
}
public void setPathMap(Map<String, BooleanOperator<WaybackRequest>> pathMap) {
this.pathMap = pathMap;
}
public boolean isNoMatchesDefault() {
return noMatchesDefault;
}
public void setNoMatchesDefault(boolean noMatchesDefault) {
this.noMatchesDefault = noMatchesDefault;
}
}