diff --git a/src/main/org/insa/graph/AccessRestrictions.java b/src/main/org/insa/graph/AccessRestrictions.java index 89c1f29..8d39f93 100644 --- a/src/main/org/insa/graph/AccessRestrictions.java +++ b/src/main/org/insa/graph/AccessRestrictions.java @@ -48,4 +48,26 @@ public class AccessRestrictions { this.restrictions = restrictions; } + /** + * // TODO: + * + * isRestrictedTo(AccessMode.FOOT, EnumSet.of(Restriction.PRIVATE, + * Restriction.DESTINATION)); + * + * @param mode + * @param restrictions + * @return + */ + public boolean isAllowedForAny(AccessMode mode, EnumSet restrictions) { + AccessRestriction modeRestrictions = this.restrictions.getOrDefault(mode, AccessRestriction.UNKNOWN); + if (modeRestrictions == AccessRestriction.UNKNOWN) { + return true; + } + return restrictions.contains(modeRestrictions); + } + + public boolean isAllowedFor(AccessMode mode, AccessRestriction restrictions) { + return isAllowedForAny(mode, EnumSet.of(restrictions)); + } + }