package com.qaup.collision.config.properties;

import lombok.Data;

import java.util.List;

/**
 * Represents a single road definition from the airport_roads.yaml configuration.
 */
@Data
public class RoadProperties {
    /**
     * Unique identifier for the road.
     */
    private String id;

    /**
     * Human-readable name of the road.
     */
    private String name;

    /**
     * Geometric definition of the road's centerline.
     */
    private GeometryProperties geometry;

    /**
     * Physical width of the road.
     */
    private Double width;

    /**
     * Speed limit on the road.
     */
    private Double speedLimit;

    /**
     * Directionality constraint (e.g., "ONE_WAY", "TWO_WAY").
     */
    private String directionality;

    /**
     * Whether passage is prohibited (true/false). Defaults to false if null/missing in YAML.
     */
    private Boolean prohibited;

    /**
     * Height restriction for vehicles.
     */
    private Double heightLimit;

    /**
     * Width restriction for vehicles.
     */
    private Double widthLimit;

    /**
     * List of zone IDs related to this road.
     */
    private List<String> relatedZones;
} 