Class AccessibilityChecker

java.lang.Object
org.episteme.social.architecture.AccessibilityChecker

public final class AccessibilityChecker extends Object
Analytical tool for checking architectural compliance with accessibility standards such as ADA, EN 17210, and ISO 21542. It provides automated audits for door widths, corridor clearance, ramp slopes, and maneuvering spaces.
  • Method Details

    • checkDoorWidth

      public static Optional<AccessibilityChecker.AccessibilityIssue> checkDoorWidth(Quantity<Length> width, String doorId)
      Checks if a door's clear opening width meets the minimum requirement.
      Parameters:
      width - the measured width of the door opening
      doorId - identifier for the door
      Returns:
      an Optional containing an issue if non-compliant
    • checkCorridorWidth

      public static Optional<AccessibilityChecker.AccessibilityIssue> checkCorridorWidth(Quantity<Length> width, String corridorId)
      Checks if a corridor's width provides sufficient clearance for wheelchair passage.
      Parameters:
      width - the measured width of the corridor
      corridorId - identifier for the corridor
      Returns:
      an Optional containing an issue if non-compliant
    • checkRampSlope

      public static Optional<AccessibilityChecker.AccessibilityIssue> checkRampSlope(Quantity<Length> rise, Quantity<Length> run, String rampId)
      Checks if a ramp's slope exceeds the maximum allowed grade.
      Parameters:
      rise - the vertical height increase
      run - the horizontal length
      rampId - identifier for the ramp
      Returns:
      an Optional containing an issue if the slope is too steep
    • checkTurningSpace

      public static Optional<AccessibilityChecker.AccessibilityIssue> checkTurningSpace(Quantity<Length> diameter, String spaceId)
      Checks if a defined space provides enough room for a 180-degree wheelchair turn.
      Parameters:
      diameter - the diameter of the circular maneuvering space
      spaceId - identifier for the space
      Returns:
      an Optional containing an issue if the space is too small
    • checkReachHeight

      public static Optional<AccessibilityChecker.AccessibilityIssue> checkReachHeight(Quantity<Length> height, String controlId)
      Checks if operable parts (switches, handles) are within the required vertical reach range (e.g., 38cm to 122cm).
      Parameters:
      height - the height of the control from the floor
      controlId - identifier for the control
      Returns:
      an Optional containing an issue if out of reach
    • fullAudit

      public static List<AccessibilityChecker.AccessibilityIssue> fullAudit(Map<String, Quantity<Length>> doorWidths, Map<String, Quantity<Length>> corridorWidths, Map<String,double[]> ramps, Map<String, Quantity<Length>> turningSpaces)
      Conducts a full accessibility audit on multiple architectural elements.
      Parameters:
      doorWidths - map of door IDs to their widths
      corridorWidths - map of corridor IDs to their widths
      ramps - map of ramp IDs to their [rise, run] values
      turningSpaces - map of space IDs to their turning diameters
      Returns:
      list of all detected accessibility issues sorted by severity