package org.torproject.jtor.circuits.impl; import java.util.ArrayList; import java.util.List; import org.torproject.jtor.directory.Router; public class NodeChoiceConstraints { private boolean needUptime; private boolean needCapacity; private boolean needGuard; private boolean weightAsExit; private boolean weightAsGuard; private List<Router> excludedRouters = new ArrayList<Router>(); private List<String> excludedFamilies = new ArrayList<String>(); boolean getNeedUptime() { return needUptime; } boolean getNeedCapacity() { return needCapacity; } boolean getWeightAsExit() { return weightAsExit; } boolean getWeightAsGuard() { return weightAsGuard; } boolean getNeedGuard() { return needGuard; } List<Router> getExcludedRouters() { return excludedRouters; } List<String> getExcludedFamilies() { return excludedFamilies; } void setNeedUptime(boolean flag) { needUptime = flag; } void setNeedCapacity(boolean flag) { needCapacity = flag; } void setNeedGuard(boolean flag) { needGuard = flag; } void addExcludedRouter(Router router) { excludedRouters.add(router); } void setWeightAsExit(boolean flag) { if(flag) weightAsGuard = false; weightAsExit = true; } void setWeightAsGuard(boolean flag) { if(flag) weightAsExit = false; weightAsGuard = false; } }